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;