implement g_memdup2

This commit is contained in:
Evan Miller 2022-12-17 06:36:28 -05:00
parent 396a5f8799
commit acce416768
2 changed files with 6 additions and 1 deletions

View File

@ -130,6 +130,7 @@ typedef struct GOptionContext {
/* string functions */
void *g_memdup(const void *src, size_t len);
void *g_memdup2(const void *src, size_t len);
int g_str_equal(const void *str1, const void *str2);
char **g_strsplit(const char *haystack, const char *needle, int max_tokens);
void g_strfreev(char **dir);

View File

@ -38,6 +38,10 @@ const char *mdb_iconv_name_from_code_page(int code_page);
/* string functions */
void *g_memdup(const void *src, size_t len) {
return g_memdup2(src, len);
}
void *g_memdup2(const void *src, size_t len) {
void *dst = malloc(len);
memcpy(dst, src, len);
return dst;
@ -126,7 +130,7 @@ int vasprintf(char **ret, const char *format, va_list ap) {
char *g_strdup(const char *input) {
size_t len = strlen(input);
return g_memdup(input, len+1);
return g_memdup2(input, len+1);
}
char *g_strndup(const char *src, size_t len) {