diff options
| author | 2019-11-07 02:59:05 +0100 | |
|---|---|---|
| committer | 2019-11-07 02:59:05 +0100 | |
| commit | 4d4586903b4cbab8b307a406e894e34b4b19a723 (patch) | |
| tree | 8fe811f8c1c00dc1215011728c96bdb98a8874b9 | |
| parent | b7c802f1b7cdf8a271b148d4375c4309aefc5e0d (diff) | |
| download | libplist-4d4586903b4cbab8b307a406e894e34b4b19a723.tar.gz libplist-4d4586903b4cbab8b307a406e894e34b4b19a723.tar.bz2  | |
Add plist_to_bin_free() and plist_to_xml_free() functions that free memory allocated by plist_to_bin()/plist_to_xml()
| -rw-r--r-- | include/plist/plist.h | 14 | ||||
| -rw-r--r-- | src/bplist.c | 5 | ||||
| -rw-r--r-- | src/xplist.c | 5 | 
3 files changed, 24 insertions, 0 deletions
diff --git a/include/plist/plist.h b/include/plist/plist.h index 7a41fb4..824ba43 100644 --- a/include/plist/plist.h +++ b/include/plist/plist.h @@ -620,6 +620,13 @@ extern "C"      void plist_to_xml(plist_t plist, char **plist_xml, uint32_t * length);      /** +     * Frees the memory allocated by plist_to_xml(). +     * +     * @param plist_xml The buffer allocated by plist_to_xml(). +     */ +    void plist_to_xml_free(char *plist_xml); + +    /**       * Export the #plist_t structure to binary format.       *       * @param plist the root node to export @@ -630,6 +637,13 @@ extern "C"      void plist_to_bin(plist_t plist, char **plist_bin, uint32_t * length);      /** +     * Frees the memory allocated by plist_to_bin(). +     * +     * @param plist_bin The buffer allocated by plist_to_bin(). +     */ +    void plist_to_bin_free(char *plist_bin); + +    /**       * Import the #plist_t structure from XML format.       *       * @param plist_xml a pointer to the xml buffer. diff --git a/src/bplist.c b/src/bplist.c index e0e7622..f0b8f0e 100644 --- a/src/bplist.c +++ b/src/bplist.c @@ -1379,3 +1379,8 @@ PLIST_API void plist_to_bin(plist_t plist, char **plist_bin, uint32_t * length)      bplist_buff->data = NULL; // make sure we don't free the output buffer      byte_array_free(bplist_buff);  } + +PLIST_API void plist_to_bin_free(char *plist_bin) +{ +    free(plist_bin); +} diff --git a/src/xplist.c b/src/xplist.c index 0cf4663..fa6bb6d 100644 --- a/src/xplist.c +++ b/src/xplist.c @@ -531,6 +531,11 @@ PLIST_API void plist_to_xml(plist_t plist, char **plist_xml, uint32_t * length)      str_buf_free(outbuf);  } +PLIST_API void plist_to_xml_free(char *plist_xml) +{ +    free(plist_xml); +} +  struct _parse_ctx {      const char *pos;      const char *end;  | 
