1 /* 2 * memccpy.c 3 * 4 * memccpy() 5 */ 6 7 #include <stddef.h> 8 #include <string.h> 9 10 void *memccpy(void *dst, const void *src, int c, size_t n) 11 { 12 char *q = dst; 13 const char *p = src; 14 char ch; 15 16 while (n--) { 17 *q++ = ch = *p++; 18 if (ch == (char)c) 19 return q; 20 } 21 22 return NULL; /* No instance of "c" found */ 23 } 24