1 /* $Id: strutil.c,v 1.12 2004-12-03 18:39:20 schaffner Exp $ */
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
28 // string compare without regard to case
30 int stricmp( const char *s1, const char *s2 )
33 int u1 = toupper((int) *s1);
34 int u2 = toupper((int) *s2);
36 return (u1 > u2) ? 1 : -1;
45 int strnicmp( const char *s1, const char *s2, int n )
48 int u1 = toupper((int) *s1);
49 int u2 = toupper((int) *s2);
51 return (u1 > u2) ? 1 : -1;
56 } while (u1 && u2 && n)
64 void strlwr( char *s1 )
72 void strupr( char *s1 )
82 void strrev( char *s1 )
86 t = s1 + strlen(s1) - 1;
96 #if !defined(__MSDOS__) && !(defined(_WIN32) && !defined(_WIN32_WCE))
97 void _splitpath(char *name, char *drive, char *path, char *base, char *ext)
115 s = strrchr(p, '\\');
152 char drive[10], path[50], name[16], ext[5];
154 drive[0] = path[0] = name[0] = ext[0] = '\0';
155 _splitpath("f:\\tmp\\x.out", drive, path, name, ext);
156 drive[0] = path[0] = name[0] = ext[0] = '\0';
157 _splitpath("tmp\\x.out", drive, path, name, ext);
158 drive[0] = path[0] = name[0] = ext[0] = '\0';
159 _splitpath("f:\\tmp\\a.out", NULL, NULL, name, NULL);
160 drive[0] = path[0] = name[0] = ext[0] = '\0';
161 _splitpath("tmp\\*.dem", drive, path, NULL, NULL);
162 drive[0] = path[0] = name[0] = ext[0] = '\0';
163 _splitpath(".\\tmp\\*.dem", drive, path, NULL, NULL);