summaryrefslogtreecommitdiff
path: root/sys/src/ape/lib/ap/gen/memccpy.c
blob: 2f7b610d24bb8bd7a0cd833a9b44d67d9f6c1bf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <string.h>

void*
memccpy(void *a1, void *a2, int c, size_t n)
{
	unsigned char *s1, *s2;

	s1 = a1;
	s2 = a2;
	c &= 0xFF;
	while(n > 0) {
		if((*s1++ = *s2++) == c)
			return s1;
		n--;
	}
	return 0;
}