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 edcd81563b706eddf3f004774a7f56de68b7683c..8b0bb4025a884998eebc708b89115aba371a9a2e 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 846ac880f2a3bc9ccd93a4e28f9e184602a1f48f..04fcd90d8755597c192aa08b89c836fa49805a4c 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 *