xref: /original-bsd/lib/libc/string/strncpy.c (revision d6141097)
1 /* @(#)strncpy.c	4.1 (Berkeley) 12/21/80 */
2 /*
3  * Copy s2 to s1, truncating or null-padding to always copy n bytes
4  * return s1
5  */
6 
7 char *
8 strncpy(s1, s2, n)
9 register char *s1, *s2;
10 {
11 	register i;
12 	register char *os1;
13 
14 	os1 = s1;
15 	for (i = 0; i < n; i++)
16 		if ((*s1++ = *s2++) == '\0') {
17 			while (++i < n)
18 				*s1++ = '\0';
19 			return(os1);
20 		}
21 	return(os1);
22 }
23