Changeset 2856
- Timestamp:
- Feb 10, 2012 10:31:25 PM (16 months ago)
- File:
-
- 1 edited
-
clients/lib/strings.c (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
clients/lib/strings.c
r2286 r2856 5 5 #include "1275.h" 6 6 7 #define ISUPPER(c) ((c) >= 'A' && (c) <= 'Z') 8 #define TOLOWER(c) ((c) + 'a' - 'A') 9 7 10 int 8 11 strcmp(const char *s, const char *t) 9 12 { 10 int i; 11 12 for (i = 0; s[i] == t[i]; ++i) 13 if (s[i] == '\0') 14 return (0); 15 return((int) (s[i] - t[i])); 13 int diff = 0; 14 int i; 15 16 for (i = 0; 1; ++i) { 17 diff = s[i] - t[i]; 18 if (diff || s[i] == '\0') 19 break; 20 } 21 return(diff); 16 22 } 17 23 … … 19 25 strncmp(const char *s, const char *t, int len) 20 26 { 21 int i; 22 23 for (i = 0; (s[i] == t[i]) && (i != len); ++i) 24 if (s[i] == '\0') 25 return (0); 26 if (i == len) 27 return(0); 28 return((int) (s[i] - t[i])); 27 int diff = 0; 28 int i; 29 30 for (i = 0; i != len; ++i) { 31 diff = s[i] - t[i]; 32 if (diff || s[i] == '\0') 33 break; 34 } 35 36 return(diff); 37 } 38 39 int 40 strcasecmp(const char *s, const char *t) 41 { 42 char sc, tc; 43 int diff = 0; 44 int i; 45 46 for (i = 0; 1; i++) { 47 sc = s[i]; 48 tc = t[i]; 49 if (ISUPPER(sc)) 50 sc = TOLOWER(sc); 51 if (ISUPPER(tc)) 52 tc = TOLOWER(tc); 53 diff = sc - tc; 54 if (diff || sc == '\0') 55 break; 56 } 57 return diff; 58 } 59 60 int 61 strncasecmp(const char *s, const char *t, int len) 62 { 63 char sc, tc; 64 int diff = 0; 65 int i; 66 67 for (i=0; i < len; i++) { 68 sc = s[i]; 69 if (ISUPPER(sc)) 70 sc = TOLOWER(sc); 71 tc = t[i]; 72 if (ISUPPER(tc)) 73 tc = TOLOWER(tc); 74 diff = sc - tc; 75 if (diff || sc == '\0') 76 break; 77 } 78 return diff; 29 79 } 30 80 … … 36 86 for (i = 0; s[i] != '\0'; ++i) 37 87 ; 38 return ((int) i);88 return i; 39 89 } 40 90 … … 46 96 for (i = 0; i < maxlen && s[i] != '\0'; ++i) 47 97 ; 48 return ((int) i);98 return i; 49 99 } 50 100 … … 56 106 while (to[i] = from[i]) 57 107 i += 1; 58 return (to);108 return to; 59 109 } 60 110 … … 69 119 maxlen--; 70 120 } 71 return (to);121 return to; 72 122 } 73 123 … … 80 130 to += 1; 81 131 strcpy(to, from); 82 return (ret);132 return ret; 83 133 } 84 134 … … 88 138 while (*s) { 89 139 if (*s == c) 90 return (s);140 return s; 91 141 ++s; 92 142 } 93 return ( (char *) 0);143 return (char *) 0; 94 144 } 95 145 … … 112 162 temp = saved_str; 113 163 saved_str = s; 114 return(temp); 164 return temp; 165 } 166 167 char * 168 strstr(const char *haystack, const char *needle) 169 { 170 int len = strlen(needle); 171 char *s; 172 173 for (s = (char *)haystack; *s; s++) 174 if (strncmp(s, needle, len) == 0) 175 return s; 176 177 return NULL; 178 } 179 180 char * 181 strcasestr(const char *haystack, const char *needle) 182 { 183 int len = strlen(needle); 184 char *s; 185 186 for (s = (char *)haystack; *s; s++) 187 if (strncasecmp(s, needle, len) == 0) 188 return s; 189 190 return NULL; 115 191 } 116 192
Note: See TracChangeset
for help on using the changeset viewer.
