shithub: riscv

ref: c2aa8c997aa9f7a6f0bc6cb1ad99cccede44fc72
dir: /sys/src/ape/lib/ap/gen/strndup.c/

View raw version
#include <string.h>
#include <ctype.h>
#include <stdlib.h>

char*
strndup(char *p, size_t max)
{
	int n;
	char *np;

	n = strlen(p)+1;
	if(n > max)
		n = max+1;
	np = malloc(n);
	if(!np)
		return nil;
	memmove(np, p, n);
	np[n-1] = 0;
	return np;
}