strdup.c 220 B

12345678910111213
  1. #include <stdlib.h>
  2. #include <string.h>
  3. #include "libc.h"
  4. char *__strdup(const char *s)
  5. {
  6. size_t l = strlen(s);
  7. char *d = malloc(l+1);
  8. if (!d) return NULL;
  9. return memcpy(d, s, l+1);
  10. }
  11. weak_alias(__strdup, strdup);