diff options
Diffstat (limited to 'src/string')
| -rw-r--r-- | src/string/memcmp.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/string/memcmp.c b/src/string/memcmp.c index f0c1e2da..eaf4cf40 100644 --- a/src/string/memcmp.c +++ b/src/string/memcmp.c @@ -4,8 +4,8 @@ /** compare memory regions **/ int memcmp(const void *s1, const void *s2, size_t n) { - unsigned char *p = (unsigned char*)s1; - unsigned char *q = (unsigned char*)s2; + unsigned char *p = (void*)s1; + unsigned char *q = (void*)s2; size_t i = 0; ASSERT_NONNULL(s1); @@ -13,7 +13,7 @@ int memcmp(const void *s1, const void *s2, size_t n) for (i = 0; i < n; i++) { if (p[i] != q[i]) { - break; + return p[i] - q[i]; } } @@ -22,7 +22,7 @@ int memcmp(const void *s1, const void *s2, size_t n) RETURN(ZERO, ARGUMENT(s1) and ARGUMENT(s2) are equal); RETURN(POSITIVE(), ARGUMENT(s1) is greater than ARGUMENT(s2)); */ - return p[i] - q[i]; + return 0; } /*** |
