aboutsummaryrefslogtreecommitdiffstats
path: root/strcasecmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'strcasecmp.c')
-rw-r--r--strcasecmp.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/strcasecmp.c b/strcasecmp.c
index c1f3bbd8..76ab9be3 100644
--- a/strcasecmp.c
+++ b/strcasecmp.c
@@ -6,18 +6,18 @@
*/
#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));
}