7 int strnicmp(
const char *s1,
const char *s2,
int len)
14 if (!c1)
return c2 ? -1 : 0;
20 if (c1 != c2)
return c1 < c2 ? -1 : 1;
27 bool ci_char_traits::eq(
char c1,
char c2 )
28 {
return tolower(c1) == tolower(c2);}
30 bool ci_char_traits::ne(
char c1,
char c2 )
31 {
return tolower(c1) != tolower(c2);}
33 bool ci_char_traits::lt(
char c1,
char c2 )
34 {
return tolower(c1) < tolower(c2);}
36 int ci_char_traits::compare(
const char* s1,
const char* s2,
size_t n )
39 return _strnicmp(s1, s2, n);
41 return strnicmp(s1, s2, n);
45 const char* ci_char_traits::find(
const char* s,
int n,
char a )
47 while( n-- > 0 && tolower(*s) != tolower(a) ) ++s;