1#include <stdlib.h>
2#include <string.h>
3
4char *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