summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2018-01-05 00:52:55 +0100
committerRichard Braun <rbraun@sceen.net>2018-01-05 00:53:37 +0100
commit26905a0ec6a7a4a688c5cbf3318ed863b7c34cbe (patch)
treee91e9f8268a55f3ebae1bad23f1abac0321b4934
parentf669fc33e01249cccbef31ce84d447b949ff8e3d (diff)
kern/string: fix strcmp and strncmp return value
-rw-r--r--kern/string.c6
1 files changed, 4 insertions, 2 deletions
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 */