It frees all the dynamically allocated fields plus the struct itself

Signed-off-by: Anatol Pomozov <[email protected]>
---
 lib/libalpm/dload.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/libalpm/dload.h b/lib/libalpm/dload.h
index a40b51b7..3f2fb9ea 100644
--- a/lib/libalpm/dload.h
+++ b/lib/libalpm/dload.h
@@ -56,6 +56,11 @@ void _alpm_dload_payload_reset_for_retry(struct 
dload_payload *payload);
 int _alpm_download(struct dload_payload *payload, const char *localpath,
                char **final_file, const char **final_url);
 
+#define DLOAD_PAYLOAD_FREE(payload) { \
+       _alpm_dload_payload_reset(payload); \
+       FREE(payload); \
+}
+
 int _alpm_multi_download(alpm_handle_t *handle,
                alpm_list_t *payloads /* struct dload_payload */,
                const char *localpath);
-- 
2.26.2

Reply via email to