summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2021-12-19 02:43:36 +0100
committerGravatar Nikias Bassen2021-12-19 02:43:36 +0100
commitc31beaaec196c26990139e3fc4f89f996d7b86e9 (patch)
tree1cc44bd4f7d69924ba1e21df8bc2d9b1010f3090 /src
parenta9e34bd29ae9dcdae55bdf5fb8a23c9b1c02eee9 (diff)
downloadlibplist-c31beaaec196c26990139e3fc4f89f996d7b86e9.tar.gz
libplist-c31beaaec196c26990139e3fc4f89f996d7b86e9.tar.bz2
Add new plist_mem_free() function
Thanks to @azerg for bringing this to my attention. Instead of having multiple (internally identical) plist_*_free() functions, this commit introduces a single plist_mem_free() that can be used to free the memory allocated by plist_to_xml(), plist_to_bin(), plist_get_key_val(), plist_get_string_val(), and plist_get_data_val(). Note: This commit REMOVES plist_to_bin_free() and plist_to_xml_free().
Diffstat (limited to 'src')
-rw-r--r--src/bplist.c5
-rw-r--r--src/plist.c8
-rw-r--r--src/xplist.c5
3 files changed, 8 insertions, 10 deletions
diff --git a/src/bplist.c b/src/bplist.c
index 455c34b..a41ce1a 100644
--- a/src/bplist.c
+++ b/src/bplist.c
@@ -1374,8 +1374,3 @@ PLIST_API void plist_to_bin(plist_t plist, char **plist_bin, uint32_t * length)
1374 bplist_buff->data = NULL; // make sure we don't free the output buffer 1374 bplist_buff->data = NULL; // make sure we don't free the output buffer
1375 byte_array_free(bplist_buff); 1375 byte_array_free(bplist_buff);
1376} 1376}
1377
1378PLIST_API void plist_to_bin_free(char *plist_bin)
1379{
1380 free(plist_bin);
1381}
diff --git a/src/plist.c b/src/plist.c
index d0e6c77..386b04e 100644
--- a/src/plist.c
+++ b/src/plist.c
@@ -382,6 +382,14 @@ PLIST_API void plist_free(plist_t plist)
382 } 382 }
383} 383}
384 384
385PLIST_API void plist_mem_free(void* ptr)
386{
387 if (ptr)
388 {
389 free(ptr);
390 }
391}
392
385static plist_t plist_copy_node(node_t *node) 393static plist_t plist_copy_node(node_t *node)
386{ 394{
387 plist_type node_type = PLIST_NONE; 395 plist_type node_type = PLIST_NONE;
diff --git a/src/xplist.c b/src/xplist.c
index 2eaba55..c45a984 100644
--- a/src/xplist.c
+++ b/src/xplist.c
@@ -530,11 +530,6 @@ PLIST_API void plist_to_xml(plist_t plist, char **plist_xml, uint32_t * length)
530 str_buf_free(outbuf); 530 str_buf_free(outbuf);
531} 531}
532 532
533PLIST_API void plist_to_xml_free(char *plist_xml)
534{
535 free(plist_xml);
536}
537
538struct _parse_ctx { 533struct _parse_ctx {
539 const char *pos; 534 const char *pos;
540 const char *end; 535 const char *end;