1 #include <stdlib.h>
2 #include <string.h>
3 
strndup(const char * s,size_t n)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 }
13