New utility function xmemdup().
authorBen Pfaff <blp@nicira.com>
Wed, 30 Apr 2008 22:11:40 +0000 (15:11 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 2 May 2008 00:02:31 +0000 (17:02 -0700)
include/util.h
lib/util.c

index edcd815..8b0bb40 100644 (file)
@@ -80,6 +80,7 @@ void set_program_name(const char *);
 void *xmalloc(size_t);
 void *xcalloc(size_t, size_t);
 void *xrealloc(void *, size_t);
+void *xmemdup(const void *, size_t);
 char *xstrdup(const char *);
 char *xasprintf(const char *format, ...) PRINTF_FORMAT(1, 2);
 
index 846ac88..04fcd90 100644 (file)
@@ -75,13 +75,18 @@ xrealloc(void *p, size_t size)
     return p;
 }
 
+void *
+xmemdup(const void *p_, size_t size)
+{
+    void *p = xmalloc(size);
+    memcpy(p, p_, size);
+    return p;
+}
+
 char *
-xstrdup(const char *s_
+xstrdup(const char *s) 
 {
-    size_t size = strlen(s_) + 1;
-    char *s = xmalloc(size);
-    memcpy(s, s_, size);
-    return s;
+    return xmemdup(s, strlen(s) + 1);
 }
 
 char *