diff options
Diffstat (limited to 'src/mem/memmem.c')
-rw-r--r-- | src/mem/memmem.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mem/memmem.c b/src/mem/memmem.c index 14be8cc..68060cd 100644 --- a/src/mem/memmem.c +++ b/src/mem/memmem.c @@ -6,5 +6,15 @@ #include <mem.h> -extern inline void *calt_memmem(void const *haystack, size_t haystacklen, - void const *needle, size_t needlelen); +void *calt_memmem(void const *haystack, size_t haystacklen, + void const *needle, size_t needlelen) { + unsigned char const *p = haystack; + unsigned char const *end = p + haystacklen - needlelen; + while (p <= end) { + if (calt_memcmp(p, needle, needlelen) == 0) { + return (void *)p; + } + p++; + } + return NULL; +} |