xref: /csrg-svn/lib/libc/string/strncat.c (revision 1987)
1*1987Swnj /* @(#)strncat.c	4.1 (Berkeley) 12/21/80 */
2*1987Swnj /*
3*1987Swnj  * Concatenate s2 on the end of s1.  S1's space must be large enough.
4*1987Swnj  * At most n characters are moved.
5*1987Swnj  * Return s1.
6*1987Swnj  */
7*1987Swnj 
8*1987Swnj char *
9*1987Swnj strncat(s1, s2, n)
10*1987Swnj register char *s1, *s2;
11*1987Swnj register n;
12*1987Swnj {
13*1987Swnj 	register char *os1;
14*1987Swnj 
15*1987Swnj 	os1 = s1;
16*1987Swnj 	while (*s1++)
17*1987Swnj 		;
18*1987Swnj 	--s1;
19*1987Swnj 	while (*s1++ = *s2++)
20*1987Swnj 		if (--n < 0) {
21*1987Swnj 			*--s1 = '\0';
22*1987Swnj 			break;
23*1987Swnj 		}
24*1987Swnj 	return(os1);
25*1987Swnj }
26