8 int strncasecmp(const char *s1
, const char *s2
, size_t n
)
10 const unsigned char *c1
= (const unsigned char *)s1
;
11 const unsigned char *c2
= (const unsigned char *)s2
;
16 /* toupper() expects an unsigned char (implicitly cast to int)
17 as input, and returns an int, which is exactly what we want. */
18 d
= toupper(ch
= *c1
++) - toupper(*c2
++);