Commit | Line | Data |
---|---|---|
503553be KM |
1 | /* |
2 | * Copyright (c) 1980 Regents of the University of California. | |
3 | * All rights reserved. The Berkeley software License Agreement | |
4 | * specifies the terms and conditions for redistribution. | |
5 | */ | |
6 | ||
7 | #ifndef lint | |
8 | static char sccsid[] = "@(#)strcatn.c 4.2 (Berkeley) %G%"; | |
9 | #endif not lint | |
10 | ||
f2be8b67 BJ |
11 | /* |
12 | * Concatenate s2 on the end of s1. S1's space must be large enough. | |
13 | * At most n characters are moved. | |
14 | * Return s1. | |
15 | */ | |
16 | ||
17 | char * | |
18 | strcatn(s1, s2, n) | |
19 | register char *s1, *s2; | |
20 | register n; | |
21 | { | |
22 | register char *os1; | |
23 | ||
24 | os1 = s1; | |
25 | while (*s1++) | |
26 | ; | |
27 | --s1; | |
28 | while (*s1++ = *s2++) | |
29 | if (--n < 0) { | |
30 | *--s1 = '\0'; | |
31 | break; | |
32 | } | |
33 | return(os1); | |
34 | } |