about summary refs log tree commit diff stats
path: root/src/command
diff options
context:
space:
mode:
authorWilliam Wennerström <william@wstrm.dev>2020-07-21 09:31:47 +0200
committerWilliam Wennerström <william@wstrm.dev>2020-11-16 21:58:09 +0100
commit62cbad1c6e43c64c02d61b732f2f25d4c8611403 (patch)
treec4d9ceb8360989f804a253d1ffac5763ab11bd68 /src/command
parent73f313b9212d652fecb13bcb82a0f162abb897a0 (diff)
downloadprofani-tty-62cbad1c6e43c64c02d61b732f2f25d4c8611403.tar.gz
Add I/O error handling and use filenames instead of file descriptors
Diffstat (limited to 'src/command')
-rw-r--r--src/command/cmd_funcs.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c
index bf6d6843..1a554ce4 100644
--- a/src/command/cmd_funcs.c
+++ b/src/command/cmd_funcs.c
@@ -9192,19 +9192,13 @@ _url_open_fallback_method(ProfWin* window, const char* url)
 void
 _url_save_fallback_method(ProfWin* window, const char* url, const char* filename)
 {
-    FILE* fh = fopen(filename, "wb");
-    if (!fh) {
-        cons_show_error("Cannot open file '%s' for writing.", filename);
-        return;
-    }
-
     gchar* scheme = g_uri_parse_scheme(url);
 
     if (g_strcmp0(scheme, "aesgcm") == 0) {
         AESGCMDownload* download = malloc(sizeof(AESGCMDownload));
         download->window = window;
         download->url = strdup(url);
-        download->filehandle = fh;
+        download->filename = strdup(filename);
 
         pthread_create(&(download->worker), NULL, &aesgcm_file_get, download);
         aesgcm_download_add_download(download);
@@ -9212,7 +9206,7 @@ _url_save_fallback_method(ProfWin* window, const char* url, const char* filename
         HTTPDownload* download = malloc(sizeof(HTTPDownload));
         download->window = window;
         download->url = strdup(url);
-        download->filehandle = fh;
+        download->filename = strdup(filename);
 
         pthread_create(&(download->worker), NULL, &http_file_get, download);
         http_download_add_download(download);