16 lines
352 B
C
16 lines
352 B
C
/*
|
|
* Copy s2 to s1, stopping if character c is copied. Copy no more than n bytes.
|
|
* Return a pointer to the byte after character c in the copy,
|
|
* or NULL if c is not found in the first n bytes.
|
|
*/
|
|
char *
|
|
memccpy(s1, s2, c, n)
|
|
register char *s1, *s2;
|
|
register int c, n;
|
|
{
|
|
while (--n >= 0)
|
|
if ((*s1++ = *s2++) == c)
|
|
return (s1);
|
|
return (0);
|
|
}
|