summaryrefslogtreecommitdiff
path: root/lib/libc/string/memmem.c
blob: 7a450cf751dfd8df23f1de5aa5797a53aff0f7e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <string.h>

void *memmem(const void *haystack, size_t haystacklen, const void *needle,
	     size_t needlelen)
{
	const unsigned char *p1 = haystack;
	const unsigned char *p2 = needle;
	while (haystacklen >= needlelen) {
		if (!memcmp(p1, p2, needlelen))
			return (void *)p1;
		p1++;
		haystacklen--;
	}
	return NULL;
}