]> sjero.net Git - wget/commitdiff
Don't delete an input file fetched via FTP.
authorSteven Schubiger <stsc@member.fsf.org>
Thu, 4 Mar 2010 21:09:31 +0000 (22:09 +0100)
committerSteven Schubiger <stsc@member.fsf.org>
Thu, 4 Mar 2010 21:09:31 +0000 (22:09 +0100)
src/ChangeLog
src/ftp.c
src/retr.c
src/retr.h

index 216a810288466f07b229cec4f5b9975c5a4e35ca..64dd7134adf1099789026d85ff5777621a2ac3d9 100644 (file)
@@ -1,3 +1,12 @@
+2010-03-04  Steven Schubiger  <stsc@member.fsf.org>
+
+       * ftp.c (ftp_loop_internal): Omit input file from being
+       deleted after retrieval.
+
+       * retr.c (input_file_url): New function.
+
+       * retr.h: Add declaration for input_file_url.
+
 2010-03-02  Steven Schubiger  <stsc@member.fsf.org>
 
        * retr.c (retrieve_from_file): Improve checking for a URL
index dfe2354869f3eaee26da9d038d72cb30718f6752..79b23b30205424918b6303b64159bd100d7ba2f0 100644 (file)
--- a/src/ftp.c
+++ b/src/ftp.c
@@ -1561,7 +1561,7 @@ ftp_loop_internal (struct url *u, struct fileinfo *f, ccon *con, char **local_fi
           total_downloaded_bytes += qtyread;
           numurls++;
 
-          if (opt.delete_after)
+          if (opt.delete_after && !input_file_url (opt.input_filename))
             {
               DEBUGP (("\
 Removing file due to --delete-after in ftp_loop_internal():\n"));
index 74b9dccb629a7833908ee4bda7298f93303e43c9..e68bce283bae73df5aef07f8ec2f90952510d168 100644 (file)
@@ -1189,3 +1189,20 @@ set_local_file (const char **file, const char *default_file)
   else
     *file = default_file;
 }
+
+/* Return true for an input file's own URL, false otherwise.  */
+bool
+input_file_url (const char *input_file)
+{
+  static bool first = true;
+
+  if (input_file
+      && url_has_scheme (input_file)
+      && first)
+    {
+      first = false;
+      return true;
+    }
+  else
+    return false;
+}
index f50c99802fe2c110540a5c09c44683e066a47e3e..e95282f2d2d4ba3a0d17339a1fbea30024c1b25f 100644 (file)
@@ -69,4 +69,6 @@ bool url_uses_proxy (struct url *);
 
 void set_local_file (const char **, const char *);
 
+bool input_file_url (const char *);
+
 #endif /* RETR_H */