ref: 8cfd549d118fbec88f3cd8d7740e5b94fbcf9a2d
dir: /sys/src/ape/lib/ap/gen/strndup.c/
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
char*
strndup(char *p, size_t max)
{
int n;
char *np;
n = strnlen(p, max);
np = malloc(n+1);
if(!np)
return NULL;
memcpy(np, p, n);
np[n] = 0;
return np;
}