summaryrefslogtreecommitdiff
path: root/lib/libalpm/handle.c
diff options
context:
space:
mode:
authorDave Reisner <d@falconindy.com>2011-01-15 13:59:45 -0500
committerDave Reisner <d@falconindy.com>2011-03-09 15:22:32 -0500
commit278c84710637a891c3407c3811f61b181359ea75 (patch)
tree9fa1b4d96f7db3e614ebb25ab4780882959f7d37 /lib/libalpm/handle.c
parent75bfe825fc4018173b0d7a3c4029094edb52d93a (diff)
downloadpacman-278c84710637a891c3407c3811f61b181359ea75.tar.xz
handle: Add CURL* and CURLcode vars to struct
Adding the CURLcode is necessary in order to return an error string from pm_error. Unlike libfetch, curl returns numerical error numbers and does not maintain a staticly allocated string with the last error generated. Adding the curl object itself to the handle is advantageous (and encouraged by curl_easy_perform(3)) because the handle is reusable for successive operations. This cuts back on overhead when downloading multiple files in a single transaction. Signed-off-by: Dave Reisner <d@falconindy.com>
Diffstat (limited to 'lib/libalpm/handle.c')
-rw-r--r--lib/libalpm/handle.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c
index d4ebe82a..34893fc6 100644
--- a/lib/libalpm/handle.c
+++ b/lib/libalpm/handle.c
@@ -71,6 +71,11 @@ void _alpm_handle_free(pmhandle_t *handle)
closelog();
}
+#ifdef HAVE_LIBCURL
+ /* release curl handle */
+ curl_easy_cleanup(handle->curl);
+#endif
+
/* free memory */
_alpm_trans_free(handle->trans);
FREE(handle->root);
@@ -85,6 +90,7 @@ void _alpm_handle_free(pmhandle_t *handle)
FREELIST(handle->ignorepkg);
FREELIST(handle->ignoregrp);
FREE(handle);
+
}
alpm_cb_log SYMEXPORT alpm_option_get_logcb()