]> git.ozlabs.org Git - ccan/blobdiff - ccan/mem/mem.c
mem: Rename memmem module to mem
[ccan] / ccan / mem / mem.c
diff --git a/ccan/mem/mem.c b/ccan/mem/mem.c
new file mode 100644 (file)
index 0000000..ce675ff
--- /dev/null
@@ -0,0 +1,27 @@
+/* CC0 (Public domain) - see LICENSE file for details */
+
+#include "config.h"
+
+#include <string.h>
+#include <ccan/mem/mem.h>
+
+#if !HAVE_MEMMEM
+void *memmem(const void *haystack, size_t haystacklen,
+            const void *needle, size_t needlelen)
+{
+       const char *p;
+
+       if (needlelen > haystacklen)
+               return NULL;
+
+       p = haystack;
+
+       for (p = haystack;
+            (p + needlelen) <= ((const char *)haystack + haystacklen);
+            p++)
+               if (memcmp(p, needle, needlelen) == 0)
+                       return (void *)p;
+
+       return NULL;
+}
+#endif