1 /*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 */ 7 8 #if defined(LIBC_SCCS) && !defined(lint) 9 static char sccsid[] = "@(#)memccpy.c 5.7 (Berkeley) 01/26/91"; 10 #endif /* LIBC_SCCS and not lint */ 11 12 #include <sys/cdefs.h> 13 #include <string.h> 14 15 void * 16 memccpy(t, f, c, n) 17 void *t; 18 const void *f; 19 int c; 20 register size_t n; 21 { 22 23 if (n) { 24 register unsigned char *t; 25 register const unsigned char *f; 26 register unsigned char ch = c; 27 28 do { 29 if ((*t++ = *f++) == c) 30 return (t); 31 } while (--n != 0); 32 } 33 return (0); 34 } 35