mirror of
https://github.com/mdbtools/mdbtools.git
synced 2026-03-10 00:20:54 +08:00
implement g_memdup2
This commit is contained in:
@@ -130,6 +130,7 @@ typedef struct GOptionContext {
|
|||||||
|
|
||||||
/* string functions */
|
/* string functions */
|
||||||
void *g_memdup(const void *src, size_t len);
|
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);
|
int g_str_equal(const void *str1, const void *str2);
|
||||||
char **g_strsplit(const char *haystack, const char *needle, int max_tokens);
|
char **g_strsplit(const char *haystack, const char *needle, int max_tokens);
|
||||||
void g_strfreev(char **dir);
|
void g_strfreev(char **dir);
|
||||||
|
|||||||
@@ -38,6 +38,10 @@ const char *mdb_iconv_name_from_code_page(int code_page);
|
|||||||
/* string functions */
|
/* string functions */
|
||||||
|
|
||||||
void *g_memdup(const void *src, size_t len) {
|
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);
|
void *dst = malloc(len);
|
||||||
memcpy(dst, src, len);
|
memcpy(dst, src, len);
|
||||||
return dst;
|
return dst;
|
||||||
@@ -126,7 +130,7 @@ int vasprintf(char **ret, const char *format, va_list ap) {
|
|||||||
|
|
||||||
char *g_strdup(const char *input) {
|
char *g_strdup(const char *input) {
|
||||||
size_t len = strlen(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) {
|
char *g_strndup(const char *src, size_t len) {
|
||||||
|
|||||||
Reference in New Issue
Block a user