Plan 9 from Bell Labs’s /usr/web/sources/plan9/sys/src/libventi/strdup.c
#include <u.h> #include <libc.h> #include <venti.h> char* vtstrdup(char *s) { int n; char *ss; if(s == nil) return nil; n = strlen(s) + 1; ss = vtmalloc(n); memmove(ss, s, n); return ss; }