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