*/
#include <ctype.h>
-strcasecmp(char *s1, char *s2)
+int strcasecmp(char *s1, char *s2)
{
- while (toupper(*s1) == toupper(*s2++))
+ while (toupper((unsigned char)*s1) == toupper((unsigned char)*s2++))
if (*s1++ == '\0')
- return(0);
- return(toupper(*s1) - toupper(*--s2));
+ return 0;
+ return(toupper((unsigned char)*s1) - toupper((unsigned char)*--s2));
}
-strncasecmp(char *s1, char *s2, register int n)
+int strncasecmp(char *s1, char *s2, register int n)
{
- while (--n >= 0 && toupper(*s1) == toupper(*s2++))
- if (toupper(*s1++) == '\0')
- return(0);
- return(n < 0 ? 0 : toupper(*s1) - toupper(*--s2));
+ while (--n >= 0 && toupper((unsigned char)*s1) == toupper((unsigned char)*s2++))
+ if (*s1++ == '\0')
+ return 0;
+ return(n < 0 ? 0 : toupper((unsigned char)*s1) - toupper((unsigned char)*--s2));
}