1*1989Swnj /* @(#)strncpy.c 4.1 (Berkeley) 12/21/80 */ 2*1989Swnj /* 3*1989Swnj * Copy s2 to s1, truncating or null-padding to always copy n bytes 4*1989Swnj * return s1 5*1989Swnj */ 6*1989Swnj 7*1989Swnj char * 8*1989Swnj strncpy(s1, s2, n) 9*1989Swnj register char *s1, *s2; 10*1989Swnj { 11*1989Swnj register i; 12*1989Swnj register char *os1; 13*1989Swnj 14*1989Swnj os1 = s1; 15*1989Swnj for (i = 0; i < n; i++) 16*1989Swnj if ((*s1++ = *s2++) == '\0') { 17*1989Swnj while (++i < n) 18*1989Swnj *s1++ = '\0'; 19*1989Swnj return(os1); 20*1989Swnj } 21*1989Swnj return(os1); 22*1989Swnj } 23