Add xstrndup()
authorAlexey Gladkov <gladkov.alexey@gmail.com>
Mon, 24 Jan 2011 21:32:42 +0000 (00:32 +0300)
committerAlexey Gladkov <gladkov.alexey@gmail.com>
Mon, 24 Jan 2011 22:29:23 +0000 (01:29 +0300)
Signed-off-by: Alexey Gladkov <gladkov.alexey@gmail.com>
src/xmalloc.c
src/xmalloc.h

index 0928fd7..e470164 100644 (file)
@@ -40,6 +40,14 @@ xstrdup(char *p) {
        return q;
 }
 
+char *
+xstrndup(char *p, size_t n) {
+       char *q = strndup(p, n);
+       if (q == NULL)
+               nomem();
+       return q;
+}
+
 void *
 xfree(void *p) {
        if (p != NULL)
index 61c8b4f..a4fd0b9 100644 (file)
@@ -5,6 +5,7 @@
 extern void *xmalloc(size_t sz);
 extern void *xrealloc(void *p, size_t sz);
 extern char *xstrdup(char *p);
+extern char *xstrndup(char *p, size_t n);
 extern void *xfree(void *p);
 
 #endif /* _XMALLOC_H */