aboutsummaryrefslogtreecommitdiffstats
path: root/xmalloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'xmalloc.c')
-rw-r--r--xmalloc.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/xmalloc.c b/xmalloc.c
index a762d0a2..f722c73b 100644
--- a/xmalloc.c
+++ b/xmalloc.c
@@ -69,4 +69,16 @@ char *strdup(const char *s)
}
#endif /* !HAVE_STRDUP */
+char *xstrndup(const char *s, size_t len)
+{
+ char *p;
+ size_t l = strlen(s);
+
+ if (len < l) l = len;
+ p = (char *)xmalloc(l + 1);
+ memcpy(p, s, l);
+ p[l] = '\0';
+ return p;
+}
+
/* xmalloc.c ends here */