From 9c4d8fd9d122298d2d1e116605940ae5b4b6a771 Mon Sep 17 00:00:00 2001
From: Darshit Shah <darnir@gmail.com>
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 <darnir@gmail.com>

---
 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 c37fb85..76da489 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,6 +1,15 @@
+2013-03-12  Darshit Shah <darnir@gmail.com>
+
+	* 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 <darnir@gmail.com>
 
-	* 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  <tim.ruehsen@gmx.de>
diff --git a/src/exits.c b/src/exits.c
index e23fc1c..cea38d5 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 fdb0d7e..9139351 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;
-- 
1.8.1.5

