BSD 4_3 release
[unix-history] / usr / src / lib / libc / gen / strncpy.c
CommitLineData
2ce81398 1#if defined(LIBC_SCCS) && !defined(lint)
95f51977 2static char sccsid[] = "@(#)strncpy.c 5.2 (Berkeley) 3/9/86";
2ce81398 3#endif LIBC_SCCS and not lint
b8f253e8 4
702612b1
BJ
5/*
6 * Copy s2 to s1, truncating or null-padding to always copy n bytes
7 * return s1
8 */
9
10char *
11strncpy(s1, s2, n)
12register char *s1, *s2;
13{
14 register i;
15 register char *os1;
16
17 os1 = s1;
18 for (i = 0; i < n; i++)
19 if ((*s1++ = *s2++) == '\0') {
20 while (++i < n)
21 *s1++ = '\0';
22 return(os1);
23 }
24 return(os1);
25}