1 #include <string.h> 2 __stpncpy(char * dst,const char * src,size_t n)3char *__stpncpy(char *dst, const char *src, size_t n) 4 { 5 char *d = dst, *s = src; 6 dst = &dst[n]; 7 while (n > 0) { 8 if ((*d++ = *src++) == 0) { 9 dst = d - 1; 10 while (--n > 0) { 11 *d++ = 0; 12 } 13 break; 14 } 15 n--; 16 } 17 return (dst); 18 } 19 20 weak_alias(__stpncpy, stpncpy); 21