xref: /plan9/sys/src/ape/lib/ap/gen/strncpy.c (revision 3e12c5d1bb89fc02707907988834ef147769ddaf)
1*3e12c5d1SDavid du Colombier #include <string.h>
2*3e12c5d1SDavid du Colombier 
3*3e12c5d1SDavid du Colombier char*
strncpy(char * s1,const char * s2,size_t n)4*3e12c5d1SDavid du Colombier strncpy(char *s1, const char *s2, size_t n)
5*3e12c5d1SDavid du Colombier {
6*3e12c5d1SDavid du Colombier 	int i;
7*3e12c5d1SDavid du Colombier 	char *os1;
8*3e12c5d1SDavid du Colombier 
9*3e12c5d1SDavid du Colombier 	os1 = s1;
10*3e12c5d1SDavid du Colombier 	for(i = 0; i < n; i++)
11*3e12c5d1SDavid du Colombier 		if((*s1++ = *s2++) == 0) {
12*3e12c5d1SDavid du Colombier 			while(++i < n)
13*3e12c5d1SDavid du Colombier 				*s1++ = 0;
14*3e12c5d1SDavid du Colombier 			return os1;
15*3e12c5d1SDavid du Colombier 		}
16*3e12c5d1SDavid du Colombier 	return os1;
17*3e12c5d1SDavid du Colombier }
18