/* * Copyright (c) 1980 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)strcpyn.c 4.3 (Berkeley) 3/9/86"; #endif LIBC_SCCS and not lint /* * Copy s2 to s1, truncating or null-padding to always copy n bytes * return s1 */ char * strcpyn(s1, s2, n) register char *s1, *s2; { register i; register char *os1; os1 = s1; for (i = 0; i < n; i++) if ((*s1++ = *s2++) == '\0') { while (++i < n) *s1++ = '\0'; return(os1); } return(os1); }