summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2023-04-22 10:17:14 +0200
committerMarcus Meissner <marcus@jet.franken.de>2023-04-22 10:17:14 +0200
commit3f99abf7b39c17cfb16d685de54ccb4861131f2f (patch)
tree5c47253ae63c71424db6bb0de3e82085d8a85339
parenta0a70785e414234c6e87b202255fb20824a1dc7f (diff)
downloadlibmtp-3f99abf7b39c17cfb16d685de54ccb4861131f2f.tar.gz
add a LIBMTP_FreeMemory function that wraps free()
see https://github.com/libmtp/libmtp/issues/121
-rw-r--r--src/libmtp.c9
-rw-r--r--src/libmtp.h.in2
-rw-r--r--src/libmtp.sym1
3 files changed, 12 insertions, 0 deletions
diff --git a/src/libmtp.c b/src/libmtp.c
index 2e72dd6..e17036e 100644
--- a/src/libmtp.c
+++ b/src/libmtp.c
@@ -9463,3 +9463,12 @@ int LIBMTP_Custom_Operation(LIBMTP_mtpdevice_t *device, uint16_t code, int n_par
return 0;
}
+
+/**
+ * Free memory allocated by libmtp. Is doing the same as libc free(mem) in most cases.
+ * @mem pointer to allocated memory.
+ */
+void LIBMTP_FreeMemory(void *mem)
+{
+ free (mem);
+}
diff --git a/src/libmtp.h.in b/src/libmtp.h.in
index 65cf134..c1deaea 100644
--- a/src/libmtp.h.in
+++ b/src/libmtp.h.in
@@ -871,6 +871,8 @@ LIBMTP_error_t *LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t*);
void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t*);
void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t*);
+void LIBMTP_FreeMemory(void *);
+
#define LIBMTP_STORAGE_SORTBY_NOTSORTED 0
#define LIBMTP_STORAGE_SORTBY_FREESPACE 1
#define LIBMTP_STORAGE_SORTBY_MAXSPACE 2
diff --git a/src/libmtp.sym b/src/libmtp.sym
index 45c7d55..c84c2c9 100644
--- a/src/libmtp.sym
+++ b/src/libmtp.sym
@@ -117,3 +117,4 @@ LIBMTP_EndEditObject
LIBMTP_TruncateObject
LIBMTP_Check_Capability
LIBMTP_Custom_Operation
+LIBMTP_FreeMemory