New utility function xmemdup().
This commit is contained in:
1 parent
3f5c2e0dad
commit
4c411bcb40
2 files changed
+12
-6
No files matched your search
@@ -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);
|
||||
|
||||
|
||||
+11
-6
@@ -75,13 +75,18 @@ xrealloc(void *p, size_t size)
|
||||
return p;
|
||||
}
|
||||
|
||||
char *
|
||||
xstrdup(const char *s_)
|
||||
void *
|
||||
xmemdup(const void *p_, size_t size)
|
||||
{
|
||||
size_t size = strlen(s_) + 1;
|
||||
char *s = xmalloc(size);
|
||||
memcpy(s, s_, size);
|
||||
return s;
|
||||
void *p = xmalloc(size);
|
||||
memcpy(p, p_, size);
|
||||
return p;
|
||||
}
|
||||
|
||||
char *
|
||||
xstrdup(const char *s)
|
||||
{
|
||||
return xmemdup(s, strlen(s) + 1);
|
||||
}
|
||||
|
||||
char *
|
||||
|
||||
Reference in new issue
Block a user