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 Colombierstrncpy(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