github.com/afumu/libc@v0.0.6/musl/src/string/strndup.c (about) 1 #include <stdlib.h> 2 #include <string.h> 3 4 char *strndup(const char *s, size_t n) 5 { 6 size_t l = strnlen(s, n); 7 char *d = malloc(l+1); 8 if (!d) return NULL; 9 memcpy(d, s, l); 10 d[l] = 0; 11 return d; 12 }