shared/util: Add util_memdup
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 6 Jan 2022 19:45:12 +0000 (11:45 -0800)
committerAyush Garg <ayush.garg@samsung.com>
Mon, 15 May 2023 09:25:53 +0000 (14:55 +0530)
This adds util_memdup which is intended to replace g_memdup since
replacing that with g_memdup2 requires bumping the glib version.

Signed-off-by: Manika Shrivastava <manika.sh@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
src/shared/util.c
src/shared/util.h

index 78db91d..db760ae 100755 (executable)
@@ -40,6 +40,22 @@ void *util_malloc(size_t size)
        return NULL;
 }
 
+void *util_memdup(const void *src, size_t size)
+{
+       void *cpy;
+
+       if (!src || !size)
+               return NULL;
+
+       cpy = util_malloc(size);
+       if (!cpy)
+               return NULL;
+
+       memcpy(cpy, src, size);
+
+       return cpy;
+}
+
 void util_debug_va(util_debug_func_t function, void *user_data,
                                const char *format, va_list va)
 {
index 11d0997..8ef6132 100755 (executable)
@@ -87,6 +87,7 @@ char *strdelimit(char *str, char *del, char c);
 int strsuffix(const char *str, const char *suffix);
 
 void *util_malloc(size_t size);
+void *util_memdup(const void *src, size_t size);
 
 typedef void (*util_debug_func_t)(const char *str, void *user_data);