X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?p=polintos%2Fscott%2Fpriv.git;a=blobdiff_plain;f=lib%2Fc%2Ffreestanding%2Fstring.c;h=77c13ef698b79e970cc9b131522b9afa50e9d01a;hp=f1ede1e8fee6ec50cb6041016078680b433e126b;hb=139f54779f6395a1828261423cd8013ca940ff36;hpb=e3afb1d2b9f9082410c46e5234edcae26e2c61db diff --git a/lib/c/freestanding/string.c b/lib/c/freestanding/string.c index f1ede1e..77c13ef 100644 --- a/lib/c/freestanding/string.c +++ b/lib/c/freestanding/string.c @@ -150,12 +150,12 @@ int strcmp(const char *s1, const char *s2) s2++; } - return *s2 - *s1; + return (unsigned char)*s2 - (unsigned char)*s1; } -int strncmp(const char *s1, const char *s2, int n) +int strncmp(const char *s1, const char *s2, size_t n) { - int i = 0; + size_t i = 0; while (i < n && s1[i] && s2[i] && s1[i] == s2[i]) i++; @@ -163,7 +163,7 @@ int strncmp(const char *s1, const char *s2, int n) if (i == n) return 0; - return *s2 - *s1; + return (unsigned char)s2[i] - (unsigned char)s1[i]; } char *strchr(const char *s, int c)