From 1a79275b9ba72597e7e3a52d977cc6ce3e4ad089 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 18 Nov 2015 07:48:53 +0100 Subject: add memmemmove, memmemcpy, wmemmemmove, and wmemmemcpy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/string/new.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/string') diff --git a/src/string/new.c b/src/string/new.c index 2434659..6c035e0 100644 --- a/src/string/new.c +++ b/src/string/new.c @@ -416,3 +416,25 @@ char* (strnprcbrk)(const char* string, const char* skipset, size_t maxlen) /* sl return r; } +char* memmemmove(char* whither, const char* whence, const char* restrict str, + size_t strsize, size_t size) /* slibc: completeness */ +{ + char* stop = (memmem)(whence, size, str, strsize); + void* r = NULL; + if (stop != NULL) + size = (size_t)(stop - (const char*)whence), r = whither + size; + memmove(whither, whence, size); + return r; +} + +char* memmemcpy(void* whither, const void* whence, const char* restrict str, + size_t strsize, size_t size) /* slibc: completeness */ +{ + char* stop = (memmem)(whence, size, str, strsize); + void* r = NULL; + if (stop != NULL) + size = (size_t)(stop - (const char*)whence), r = whither + size; + memcpy(whither, whence, size); + return r; +} + -- cgit v1.2.3-70-g09d2