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  }