xref: /plan9/sys/src/liboventi/strdup.c (revision 225077b0bf393489f69f6689df234a9b945497b7)
1368c31abSDavid du Colombier #include <u.h>
2368c31abSDavid du Colombier #include <libc.h>
3368c31abSDavid du Colombier #include <oventi.h>
4368c31abSDavid du Colombier 
5368c31abSDavid du Colombier char*
vtStrDup(char * s)6368c31abSDavid du Colombier vtStrDup(char *s)
7368c31abSDavid du Colombier {
8368c31abSDavid du Colombier 	int n;
9368c31abSDavid du Colombier 	char *ss;
10368c31abSDavid du Colombier 
11368c31abSDavid du Colombier 	if(s == nil)
12368c31abSDavid du Colombier 		return nil;
13368c31abSDavid du Colombier 	n = strlen(s) + 1;
14368c31abSDavid du Colombier 	ss = vtMemAlloc(n);
15368c31abSDavid du Colombier 	memmove(ss, s, n);
16*225077b0SDavid du Colombier 	setmalloctag(ss, getcallerpc(&s));
17368c31abSDavid du Colombier 	return ss;
18368c31abSDavid du Colombier }
19368c31abSDavid du Colombier 
20