From abea1c38a94183999c07c848f0b48ca55b42b653 Mon Sep 17 00:00:00 2001 From: Daniel Campora Date: Tue, 28 Apr 2015 15:44:14 +0200 Subject: [PATCH] lib/libc: Add memchr. We already have strchr, but memchr is useful too. --- lib/libc/string0.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/libc/string0.c b/lib/libc/string0.c index 136c1b49cc..8ba118b705 100644 --- a/lib/libc/string0.c +++ b/lib/libc/string0.c @@ -114,6 +114,18 @@ int memcmp(const void *s1, const void *s2, size_t n) { return 0; } +void *memchr(const void *s, int c, size_t n) { + if (n != 0) { + const unsigned char *p = s; + + do { + if (*p++ == c) + return ((void *)(p - 1)); + } while (--n != 0); + } + return 0; +} + size_t strlen(const char *str) { int len = 0; for (const char *s = str; *s; s++) {