xref: /plan9/sys/src/libc/port/strdup.c (revision 9b7bf7df4595c26f1e9b67beb0c6e44c9876fb05)
13e12c5d1SDavid du Colombier #include <u.h>
23e12c5d1SDavid du Colombier #include <libc.h>
33e12c5d1SDavid du Colombier 
43e12c5d1SDavid du Colombier char*
strdup(char * s)53e12c5d1SDavid du Colombier strdup(char *s)
63e12c5d1SDavid du Colombier {
759cc4ca5SDavid du Colombier 	char *ns;
83e12c5d1SDavid du Colombier 
959cc4ca5SDavid du Colombier 	ns = malloc(strlen(s) + 1);
1059cc4ca5SDavid du Colombier 	if(ns == 0)
113e12c5d1SDavid du Colombier 		return 0;
12*9b7bf7dfSDavid du Colombier 	setmalloctag(ns, getcallerpc(&s));
1359cc4ca5SDavid du Colombier 
1459cc4ca5SDavid du Colombier 	return strcpy(ns, s);
153e12c5d1SDavid du Colombier }
16