commit ff48dbfd84e86f5a720e9400a7acb53fe3b9393b from: Omar Polo date: Thu May 05 08:54:28 2022 UTC fix handle_save_page_path there's no need to handle the buffer case, which is now handled directly by write_page. While here fix an issue if the open fails: we still need to stop the tab! commit - 3e36ea51f650498b743754daa74d4aa039129956 commit + ff48dbfd84e86f5a720e9400a7acb53fe3b9393b blob - 962b33911e4ef1ec30de6c88dbd401440dcf74b2 blob + efd5439c04b3d84b8126422e2a32f276a2f1a3fb --- telescope.c +++ telescope.c @@ -459,10 +459,6 @@ handle_save_page_path(const char *path, struct tab *ta stop_tab(tab); return; } - - ui_show_downloads_pane(); - - d = enqueue_download(tab->id, path, 0); /* * Change this tab id, the old one is associated with the @@ -470,24 +466,16 @@ handle_save_page_path(const char *path, struct tab *ta */ tab->id = tab_new_id(); - if ((fd = open(path, O_WRONLY|O_TRUNC|O_CREAT, 0644)) == -1) - message("Can't open file %s: %s", d->path, strerror(errno)); - else if (d->buffer) { - FILE *fp; - int r; + if ((fd = open(path, O_WRONLY|O_TRUNC|O_CREAT, 0644)) == -1) { + message("Can't open file %s: %s", path, strerror(errno)); + stop_tab(tab); + return; + } - if ((fp = fdopen(fd, "w")) != NULL) { - r = parser_serialize(current_tab, fp); - if (!r) - message("Failed to save the page."); - fclose(fp); - } - - dequeue_first_download(); - } else { - d->fd = fd; - ui_send_net(IMSG_PROCEED, d->id, NULL, 0); - } + ui_show_downloads_pane(); + d = enqueue_download(tab->id, path, 0); + d->fd = fd; + ui_send_net(IMSG_PROCEED, d->id, NULL, 0); } static void