|
|
1.1 ! root 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: #if defined(LIBC_SCCS) && !defined(lint) ! 8: static char sccsid[] = "@(#)strcatn.c 4.3 (Berkeley) 3/9/86"; ! 9: #endif LIBC_SCCS and not lint ! 10: ! 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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.