Add memdup() function
[wimlib] / src / util.c
index 847510616de12084bfda260de8c13b8bcd835d11..a0ed84d95014760cff7f0b95618c1fcb78c1d943 100644 (file)
@@ -475,6 +475,15 @@ wimlib_wcsdup(const wchar_t *str)
 
 #endif /* ENABLE_CUSTOM_MEMORY_ALLOCATOR */
 
+void *
+memdup(const void *mem, size_t size)
+{
+       void *ptr = MALLOC(size);
+       if (ptr)
+               ptr = memcpy(ptr, mem, size);
+       return ptr;
+}
+
 WIMLIBAPI int
 wimlib_set_memory_allocator(void *(*malloc_func)(size_t),
                            void (*free_func)(void *),