From 26905a0ec6a7a4a688c5cbf3318ed863b7c34cbe Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Fri, 5 Jan 2018 00:52:55 +0100 Subject: kern/string: fix strcmp and strncmp return value --- kern/string.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'kern/string.c') diff --git a/kern/string.c b/kern/string.c index 6c9c8abc..70d03d02 100644 --- a/kern/string.c +++ b/kern/string.c @@ -181,7 +181,8 @@ strcmp(const char *s1, const char *s2) s2++; } - return (int)c1 - (int)c2; + /* See C11 7.24.4 Comparison functions */ + return (int)(unsigned char)c1 - (int)(unsigned char)c2; } #endif /* STRING_ARCH_STRCMP */ @@ -205,7 +206,8 @@ strncmp(const char *s1, const char *s2, size_t n) s2++; } - return (int)c1 - (int)c2; + /* See C11 7.24.4 Comparison functions */ + return (int)(unsigned char)c1 - (int)(unsigned char)c2; } #endif /* STRING_ARCH_STRNCMP */ -- cgit v1.2.3