diff options
Diffstat (limited to 'src/sys/stdlib/memcmp.c')
-rw-r--r-- | src/sys/stdlib/memcmp.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/sys/stdlib/memcmp.c b/src/sys/stdlib/memcmp.c new file mode 100644 index 0000000..9178250 --- /dev/null +++ b/src/sys/stdlib/memcmp.c @@ -0,0 +1,12 @@ +#include <string.h> /* for size_t */ +int memcmp(const void *s1, const void *s2, size_t n); +int memcmp(const void *s1, const void *s2, size_t n) +{ + register unsigned char *c1 = (unsigned char *) s1; + register unsigned char *c2 = (unsigned char *) s2; + + while (n-- > 0) + if (*c1++ != *c2++) + return c1[-1] > c2[-1] ? 1 : -1; + return 0; +} |