about summary refs log tree commit diff stats
path: root/src/tools/http_download.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/http_download.c')
-rw-r--r--src/tools/http_download.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/tools/http_download.c b/src/tools/http_download.c
index 09e6bb6e..a86af172 100644
--- a/src/tools/http_download.c
+++ b/src/tools/http_download.c
@@ -157,13 +157,12 @@ http_file_get(void* userdata)
     curl_easy_cleanup(curl);
     curl_global_cleanup();
 
-    if (download->filehandle) {
+    if (download->filehandle && download->close) {
         fclose(download->filehandle);
     }
 
     pthread_mutex_lock(&lock);
     g_free(cert_path);
-
     if (err) {
         char* msg;
         if (download->cancel) {
@@ -237,3 +236,20 @@ http_basename_from_url(const char* url)
 
     return filename;
 }
+
+void
+http_print_transfer_update(ProfWin* window, char* url,
+                           const char* fmt, ...)
+{
+    va_list args;
+
+    va_start(args, fmt);
+    char* msg;
+    if (vasprintf(&msg, fmt, args) == -1) {
+        msg = strdup(FALLBACK_MSG);
+    }
+    va_end(args);
+
+    win_print_http_transfer(window, msg, url);
+    free(msg);
+}