summaryrefslogtreecommitdiff
path: root/src/sys/stdlib/memcmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys/stdlib/memcmp.c')
-rw-r--r--src/sys/stdlib/memcmp.c12
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;
+}
© All Rights Reserved