diff options
-rw-r--r-- | src/plist.c | 2 | ||||
-rw-r--r-- | src/plist.h | 1 | ||||
-rw-r--r-- | src/xplist.c | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/src/plist.c b/src/plist.c index d20a252..703ac65 100644 --- a/src/plist.c +++ b/src/plist.c @@ -91,7 +91,7 @@ plist_data_t plist_new_plist_data(void) return data; } -static void plist_free_data(plist_data_t data) +void plist_free_data(plist_data_t data) { if (data) { diff --git a/src/plist.h b/src/plist.h index 822144d..ad65dea 100644 --- a/src/plist.h +++ b/src/plist.h @@ -67,6 +67,7 @@ typedef struct plist_data_s *plist_data_t; plist_t plist_new_node(plist_data_t data); plist_data_t plist_get_data(const plist_t node); plist_data_t plist_new_plist_data(void); +void plist_free_data(plist_data_t data); int plist_data_compare(const void *a, const void *b); diff --git a/src/xplist.c b/src/xplist.c index e0a76da..8fe3604 100644 --- a/src/xplist.c +++ b/src/xplist.c @@ -337,6 +337,7 @@ static void node_to_xml(node_t* node, void *xml_struct) for (j = num; j > 0; j--) { node_t* ch = node_nth_child(node, j-1); node_detach(node, ch); + plist_free_data((plist_data_t)((node_t*)ch)->data); node_destroy(ch); } node_data->type = PLIST_UID; |