summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux-4.02/com32/lib/strndup.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux-4.02/com32/lib/strndup.c')
-rw-r--r--contrib/syslinux-4.02/com32/lib/strndup.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/com32/lib/strndup.c b/contrib/syslinux-4.02/com32/lib/strndup.c
new file mode 100644
index 0000000..d1073a8
--- /dev/null
+++ b/contrib/syslinux-4.02/com32/lib/strndup.c
@@ -0,0 +1,17 @@
+/*
+ * strndup.c
+ */
+
+#include <string.h>
+#include <stdlib.h>
+
+char *strndup(const char *s, size_t n)
+{
+ int l = n > strlen(s) ? strlen(s) + 1 : n + 1;
+ char *d = malloc(l);
+
+ if (d)
+ memcpy(d, s, l);
+ d[n] = '\0';
+ return d;
+}