strdup.c 240 B

12345678910111213141516171819
  1. #include <u.h>
  2. #include <libc.h>
  3. #include <oventi.h>
  4. char*
  5. vtStrDup(char *s)
  6. {
  7. int n;
  8. char *ss;
  9. if(s == nil)
  10. return nil;
  11. n = strlen(s) + 1;
  12. ss = vtMemAlloc(n);
  13. memmove(ss, s, n);
  14. setmalloctag(ss, getcallerpc(&s));
  15. return ss;
  16. }