Commit | Line | Data |
---|---|---|
2ce81398 | 1 | #if defined(LIBC_SCCS) && !defined(lint) |
95f51977 | 2 | static 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 | ||
10 | char * | |
11 | strncpy(s1, s2, n) | |
12 | register 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 | } |