1#include <stdlib.h> 2#include <string.h> 3 4char *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