diff options
| author | 2021-12-19 02:43:36 +0100 | |
|---|---|---|
| committer | 2021-12-19 02:43:36 +0100 | |
| commit | c31beaaec196c26990139e3fc4f89f996d7b86e9 (patch) | |
| tree | 1cc44bd4f7d69924ba1e21df8bc2d9b1010f3090 /src | |
| parent | a9e34bd29ae9dcdae55bdf5fb8a23c9b1c02eee9 (diff) | |
| download | libplist-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.c | 5 | ||||
| -rw-r--r-- | src/plist.c | 8 | ||||
| -rw-r--r-- | src/xplist.c | 5 |
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 | |||
| 1378 | PLIST_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 | ||
| 385 | PLIST_API void plist_mem_free(void* ptr) | ||
| 386 | { | ||
| 387 | if (ptr) | ||
| 388 | { | ||
| 389 | free(ptr); | ||
| 390 | } | ||
| 391 | } | ||
| 392 | |||
| 385 | static plist_t plist_copy_node(node_t *node) | 393 | static 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 | ||
| 533 | PLIST_API void plist_to_xml_free(char *plist_xml) | ||
| 534 | { | ||
| 535 | free(plist_xml); | ||
| 536 | } | ||
| 537 | |||
| 538 | struct _parse_ctx { | 533 | struct _parse_ctx { |
| 539 | const char *pos; | 534 | const char *pos; |
| 540 | const char *end; | 535 | const char *end; |
