summaryrefslogtreecommitdiff
path: root/src/string/strdup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/string/strdup.c')
-rw-r--r--src/string/strdup.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/string/strdup.c b/src/string/strdup.c
new file mode 100644
index 00000000..dd5f80c1
--- /dev/null
+++ b/src/string/strdup.c
@@ -0,0 +1,13 @@
+#include <stdlib.h>
+#include <string.h>
+#include "libc.h"
+
+char *__strdup(const char *s)
+{
+ size_t l = strlen(s);
+ char *d = malloc(l+1);
+ if (!d) return NULL;
+ return memcpy(d, s, l+1);
+}
+
+weak_alias(__strdup, strdup);