summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/malloc.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/malloc.c b/src/malloc.c
index 9592af4..4586d4d 100644
--- a/src/malloc.c
+++ b/src/malloc.c
@@ -22,12 +22,25 @@
#include <config.h>
#endif
+#include <string.h>
#include <stdio.h>
#include <stdarg.h>
#include "malloc.h"
#include "macro.h"
+void* ca_memdup(const void* p, size_t size) {
+ void *r;
+
+ ca_assert(p);
+
+ if (!(r = ca_malloc(size)))
+ return NULL;
+
+ memcpy(r, p, size);
+ return r;
+}
+
char *ca_sprintf_malloc(const char *format, ...) {
size_t size = 100;
char *c = NULL;