0003-shared-util-Add-util_memdup.patch 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. From 28f1c140374d1ecda65e3d59cca72352c3a07774 Mon Sep 17 00:00:00 2001
  2. From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  3. Date: Thu, 6 Jan 2022 11:45:12 -0800
  4. Subject: [PATCH] shared/util: Add util_memdup
  5. This adds util_memdup which is intended to replace g_memdup since
  6. replacing that with g_memdup2 requires bumping the glib version.
  7. (cherry picked from commit 9f09e69ecb077082301dafb745856e1f3731aaa7)
  8. Signed-off-by: Thomas Devoogdt <thomas.devoogdt@gmail.com>
  9. ---
  10. src/shared/util.c | 16 ++++++++++++++++
  11. src/shared/util.h | 1 +
  12. 2 files changed, 17 insertions(+)
  13. diff --git a/src/shared/util.c b/src/shared/util.c
  14. index 93110047b..6e1c83057 100644
  15. --- a/src/shared/util.c
  16. +++ b/src/shared/util.c
  17. @@ -41,6 +41,22 @@ void *util_malloc(size_t size)
  18. return NULL;
  19. }
  20. +void *util_memdup(const void *src, size_t size)
  21. +{
  22. + void *cpy;
  23. +
  24. + if (!src || !size)
  25. + return NULL;
  26. +
  27. + cpy = util_malloc(size);
  28. + if (!cpy)
  29. + return NULL;
  30. +
  31. + memcpy(cpy, src, size);
  32. +
  33. + return cpy;
  34. +}
  35. +
  36. void util_debug_va(util_debug_func_t function, void *user_data,
  37. const char *format, va_list va)
  38. {
  39. diff --git a/src/shared/util.h b/src/shared/util.h
  40. index 11d09979d..8ef6132c4 100644
  41. --- a/src/shared/util.h
  42. +++ b/src/shared/util.h
  43. @@ -87,6 +87,7 @@ char *strdelimit(char *str, char *del, char c);
  44. int strsuffix(const char *str, const char *suffix);
  45. void *util_malloc(size_t size);
  46. +void *util_memdup(const void *src, size_t size);
  47. typedef void (*util_debug_func_t)(const char *str, void *user_data);
  48. --
  49. 2.17.1