From 3ef709502e47d7f350c021dd33bbeac83c5e5f5c Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Sun, 30 Jul 2017 22:12:42 +0200 Subject: [PATCH] [liba] Add memcmp to strings.h Change-Id: Ied4281e588d423e2b00dced10018a690455544d5 --- liba/Makefile | 1 + liba/include/string.h | 1 + liba/src/memcmp.c | 14 ++++++++++++++ 3 files changed, 16 insertions(+) create mode 100644 liba/src/memcmp.c diff --git a/liba/Makefile b/liba/Makefile index 761b90772..7b949d82f 100644 --- a/liba/Makefile +++ b/liba/Makefile @@ -11,6 +11,7 @@ objs += $(addprefix liba/src/, \ isinfd.o \ isinff.o \ malloc.o \ + memcmp.o \ memcpy.o \ memmove.o \ memset.o \ diff --git a/liba/include/string.h b/liba/include/string.h index bc3852626..fedd91000 100644 --- a/liba/include/string.h +++ b/liba/include/string.h @@ -6,6 +6,7 @@ LIBA_BEGIN_DECLS +int memcmp(const void * s1, const void * s2, size_t n); void * memcpy(void * dst, const void * src, size_t n); void * memmove(void * dst, const void * src, size_t n); void * memset(void * b, int c, size_t len); diff --git a/liba/src/memcmp.c b/liba/src/memcmp.c new file mode 100644 index 000000000..86c9bbc81 --- /dev/null +++ b/liba/src/memcmp.c @@ -0,0 +1,14 @@ +#include + +int memcmp(const void * s1, const void * s2, size_t n) { + char * source1 = (char *)s1; + char * source2 = (char *)s2; + while (n--) { + if (*source1 != *source2) { + return *source1 - *source2; + } + source1++; + source2++; + } + return 0; +}