13e12c5d1SDavid du Colombier #include <string.h> 23e12c5d1SDavid du Colombier 33e12c5d1SDavid du Colombier char* strncat(char * s1,const char * s2,size_t n)43e12c5d1SDavid du Colombierstrncat(char *s1, const char *s2, size_t n) 53e12c5d1SDavid du Colombier { 63e12c5d1SDavid du Colombier char *os1; 7*219b2ee8SDavid du Colombier long nn; 83e12c5d1SDavid du Colombier 93e12c5d1SDavid du Colombier os1 = s1; 10*219b2ee8SDavid du Colombier nn = n; 113e12c5d1SDavid du Colombier while(*s1++) 123e12c5d1SDavid du Colombier ; 133e12c5d1SDavid du Colombier s1--; 143e12c5d1SDavid du Colombier while(*s1++ = *s2++) 15*219b2ee8SDavid du Colombier if(--nn < 0) { 163e12c5d1SDavid du Colombier s1[-1] = 0; 173e12c5d1SDavid du Colombier break; 183e12c5d1SDavid du Colombier } 193e12c5d1SDavid du Colombier return os1; 203e12c5d1SDavid du Colombier } 21