]> git.ozlabs.org Git - ccan/blob - ccan/mem/mem.c
mem: Rename memmem module to mem
[ccan] / ccan / mem / mem.c
1 /* CC0 (Public domain) - see LICENSE file for details */
2
3 #include "config.h"
4
5 #include <string.h>
6 #include <ccan/mem/mem.h>
7
8 #if !HAVE_MEMMEM
9 void *memmem(const void *haystack, size_t haystacklen,
10              const void *needle, size_t needlelen)
11 {
12         const char *p;
13
14         if (needlelen > haystacklen)
15                 return NULL;
16
17         p = haystack;
18
19         for (p = haystack;
20              (p + needlelen) <= ((const char *)haystack + haystacklen);
21              p++)
22                 if (memcmp(p, needle, needlelen) == 0)
23                         return (void *)p;
24
25         return NULL;
26 }
27 #endif