]> sjero.net Git - wget/blobdiff - src/recur.c
[svn] --delete-after wasn't implemented for files retrieved by FTP or corresponding to
[wget] / src / recur.c
index dc58c6458ee46198dfa0fe4f583e85164f535550..91a8fed0691506c8a464f505c828c8c3429d7305 100644 (file)
@@ -455,10 +455,15 @@ recursive_retrieve (const char *file, const char *this_url)
          else
            DEBUGP (("%s is not text/html so we don't chase.\n",
                     filename ? filename: "(null)"));
-         /* If an suffix-rejected file was loaded only because it was HTML,
-            undo the error now */
+
          if (opt.delete_after || (filename && !acceptable (filename)))
+           /* Either --delete-after was specified, or we loaded this otherwise
+              rejected (e.g. by -R) HTML file just so we could harvest its
+              hyperlinks -- in either case, delete the local file. */
            {
+             DEBUGP (("Removing file due to %s in recursive_retrieve():\n",
+                      opt.delete_after ? "--delete-after" :
+                      "recursive rejection criteria"));
              logprintf (LOG_VERBOSE,
                         (opt.delete_after ? _("Removing %s.\n")
                          : _("Removing %s since it should be rejected.\n")),
@@ -467,6 +472,7 @@ recursive_retrieve (const char *file, const char *this_url)
                logprintf (LOG_NOTQUIET, "unlink: %s\n", strerror (errno));
              dt &= ~RETROKF;
            }
+
          /* If everything was OK, and links are to be converted, let's
             store the local filename.  */
          if (opt.convert_links && (dt & RETROKF) && (filename != NULL))
@@ -482,7 +488,7 @@ recursive_retrieve (const char *file, const char *this_url)
       freeurl (u, 1);
       /* Increment the pbuf for the appropriate size.  */
     }
-  if (opt.convert_links)
+  if (opt.convert_links && !opt.delete_after)
     convert_links (file, url_list);
   /* Free the linked list of URL-s.  */
   free_urlpos (url_list);