OLD | NEW |
1 #include <strings.h> | 1 #include <strings.h> |
2 #include <ctype.h> | 2 #include <ctype.h> |
3 #include "libc.h" | 3 #include "libc.h" |
4 | 4 |
5 int strncasecmp(const char *_l, const char *_r, size_t n) | 5 int strncasecmp(const char* _l, const char* _r, size_t n) { |
6 { | 6 const unsigned char *l = (void *)_l, *r = (void *)_r; |
7 » const unsigned char *l=(void *)_l, *r=(void *)_r; | 7 if (!n--) |
8 » if (!n--) return 0; | 8 return 0; |
9 » for (; *l && *r && n && (*l == *r || tolower(*l) == tolower(*r)); l++, r
++, n--); | 9 for (; *l && *r && n && (*l == *r || tolower(*l) == tolower(*r)); |
10 » return tolower(*l) - tolower(*r); | 10 l++, r++, n--) |
| 11 ; |
| 12 return tolower(*l) - tolower(*r); |
11 } | 13 } |
12 | 14 |
13 int __strncasecmp_l(const char *l, const char *r, size_t n, locale_t loc) | 15 int __strncasecmp_l(const char* l, const char* r, size_t n, locale_t loc) { |
14 { | 16 return strncasecmp(l, r, n); |
15 » return strncasecmp(l, r, n); | |
16 } | 17 } |
17 | 18 |
18 weak_alias(__strncasecmp_l, strncasecmp_l); | 19 weak_alias(__strncasecmp_l, strncasecmp_l); |
OLD | NEW |