Fixed comparison functions: unsigned char!
authorceriel <none@none>
Wed, 22 Jul 1992 12:51:53 +0000 (12:51 +0000)
committerceriel <none@none>
Wed, 22 Jul 1992 12:51:53 +0000 (12:51 +0000)
lang/cem/libcc.ansi/string/memcmp.c
lang/cem/libcc.ansi/string/strcmp.c
lang/cem/libcc.ansi/string/strncmp.c

index c10f07e..93b97e7 100644 (file)
@@ -15,7 +15,7 @@ memcmp(const void *s1, const void *s2, size_t n)
                n++;
                while (--n > 0) {
                        if (*p1++ == *p2++) continue;
-                       return *--p1 - *--p2;
+                       return (unsigned char) *--p1 - (unsigned char) *--p2;
                }
        }
        return 0;
index 3c3b06e..c94bb84 100644 (file)
@@ -16,5 +16,5 @@ strcmp(register const char *s1, register const char *s2)
        }
        if (*s1 == '\0') return -1;
        if (*--s2 == '\0') return 1;
-       return *s1 - *s2;
+       return (unsigned char) *s1 - (unsigned char) *s2;
 }
index ad44ac9..614f023 100644 (file)
@@ -19,7 +19,7 @@ strncmp(register const char *s1, register const char *s2, register size_t n)
                if (n > 0) {
                        if (*s1 == '\0') return -1;
                        if (*--s2 == '\0') return 1;
-                       return *s1 - *s2;
+                       return (unsigned char) *s1 - (unsigned char) *s2;
                }
        }
        return 0;