| char *strndup(const char *s, size_t n) | |
| { | |
| size_t l = strnlen(s, n); | |
| char *d = malloc(l+1); | |
| if (!d) return NULL; | |
| memcpy(d, s, l); | |
| d[l] = 0; | |
| return d; | |
| } | |
| char *strndup(const char *s, size_t n) | |
| { | |
| size_t l = strnlen(s, n); | |
| char *d = malloc(l+1); | |
| if (!d) return NULL; | |
| memcpy(d, s, l); | |
| d[l] = 0; | |
| return d; | |
| } | |