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