From 50238e49b9e97acc1edf3b4355a2cd44f75660e5 Mon Sep 17 00:00:00 2001 From: Darshit Shah Date: Tue, 12 Mar 2013 13:11:04 +0530 Subject: [PATCH] Make wget abort if --post-file does not exist Signed-off-by: Darshit Shah --- src/ChangeLog | 11 ++++++++++- src/exits.c | 2 +- src/http.c | 3 ++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index c37fb85a..8e1213f1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,6 +1,15 @@ +2013-03-12 Darshit Shah + + * http.c (gethttp): Make wget return FILEBADFILE error and abort if + post-file does not exist. + + * http.c (http_loop): Handle FILEBADFILE as a valid err. + + * exits.c (get_status_for_err): Mark FILEBADFILE as an IO error. + 2013-02-15 Darshit Shah - * cookies.c (cookie_handle_set_cookie): Set cookie-descard_requested + * cookies.c (cookie_handle_set_cookie): Set cookie->discard_requested to true on domain mismatch. 2012-12-20 Tim Ruehsen diff --git a/src/exits.c b/src/exits.c index e23fc1c9..cea38d5c 100644 --- a/src/exits.c +++ b/src/exits.c @@ -58,7 +58,7 @@ get_status_for_err (uerr_t err) case RETROK: return WGET_EXIT_SUCCESS; case FOPENERR: case FOPEN_EXCL_ERR: case FWRITEERR: case WRITEFAILED: - case UNLINKERR: case CLOSEFAILED: + case UNLINKERR: case CLOSEFAILED: case FILEBADFILE: return WGET_EXIT_IO_FAIL; case NOCONERROR: case HOSTERR: case CONSOCKERR: case CONERROR: case CONSSLERR: case CONIMPOSSIBLE: case FTPRERR: case FTPINVPASV: diff --git a/src/http.c b/src/http.c index fdb0d7e4..b393e248 100644 --- a/src/http.c +++ b/src/http.c @@ -1865,7 +1865,7 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy, { logprintf (LOG_NOTQUIET, _("POST data file %s missing: %s\n"), quote (opt.post_file_name), strerror (errno)); - post_data_size = 0; + return FILEBADFILE; } } request_set_header (req, "Content-Length", @@ -3119,6 +3119,7 @@ Spider mode enabled. Check if remote file exists.\n")); quote (hstat.local_file), strerror (errno)); case HOSTERR: case CONIMPOSSIBLE: case PROXERR: case AUTHFAILED: case SSLINITFAILED: case CONTNOTSUPPORTED: case VERIFCERTERR: + case FILEBADFILE: /* Fatal errors just return from the function. */ ret = err; goto exit;