]> sjero.net Git - wget/blobdiff - src/main.c
[svn] Retired the `boolean' type. Renamed FREE_MAYBE to xfree_null and moved the
[wget] / src / main.c
index 6b0c6d193498719f40608949fedb9f257a82a079..94aef3b56958a8f9b392fd2c875c572a51d02880 100644 (file)
@@ -50,6 +50,9 @@ so, delete this exception statement from your version.  */
 #endif /* HAVE_LOCALE_H */
 #endif /* HAVE_NLS */
 #include <errno.h>
+#ifndef errno
+extern int errno;
+#endif
 
 #include "wget.h"
 #include "utils.h"
@@ -73,14 +76,11 @@ so, delete this exception statement from your version.  */
 # define PATH_SEPARATOR '/'
 #endif
 
-extern char *version_string;
-
-#ifndef errno
-extern int errno;
-#endif
-
 struct options opt;
 
+extern LARGE_INT total_downloaded_bytes;
+extern char *version_string;
+
 extern struct cookie_jar *wget_cookie_jar;
 
 /* From log.c.  */
@@ -219,7 +219,7 @@ HTTPS (SSL) options:\n\
        --sslcertfile=FILE     optional client certificate.\n\
        --sslcertkey=KEYFILE   optional keyfile for this certificate.\n\
        --egd-file=FILE        file name of the EGD socket.\n\
-       --sslcadir=DIR         dir where hash list of CA's are stured.\n\
+       --sslcadir=DIR         dir where hash list of CA's are stored.\n\
        --sslcafile=FILE       file with bundle of CA's\n\
        --sslcerttype=0/1      Client-Cert type 0=PEM (default) / 1=ASN1 (DER)\n\
        --sslcheckcert=0/1     Check the server cert agenst given CA\n\
@@ -459,12 +459,12 @@ hpVqvdkKsxmNWrHSLcFbEY:G:g:T:U:O:l:n:i:o:a:t:D:A:R:P:B:e:Q:X:I:w:C:",
          setoptval ("continue", "on");
          break;
        case 'd':
-#ifdef DEBUG
+#ifdef ENABLE_DEBUG
          setoptval ("debug", "on");
-#else  /* not DEBUG */
+#else
          fprintf (stderr, _("%s: debug support not compiled in.\n"),
                   exec_name);
-#endif /* not DEBUG */
+#endif
          break;
        case 'E':
          setoptval ("htmlextension", "on");
@@ -515,13 +515,13 @@ hpVqvdkKsxmNWrHSLcFbEY:G:g:T:U:O:l:n:i:o:a:t:D:A:R:P:B:e:Q:X:I:w:C:",
        case 'V':
          printf ("GNU Wget %s\n\n", version_string);
          printf ("%s", _("\
-Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.\n"));
+Copyright (C) 2003 Free Software Foundation, Inc.\n"));
          printf ("%s", _("\
 This program is distributed in the hope that it will be useful,\n\
 but WITHOUT ANY WARRANTY; without even the implied warranty of\n\
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n\
 GNU General Public License for more details.\n"));
-         printf (_("\nOriginally written by Hrvoje Niksic <hniksic@arsdigita.com>.\n"));
+         printf (_("\nOriginally written by Hrvoje Niksic <hniksic@xemacs.org>.\n"));
          exit (0);
          break;
        case 'v':
@@ -759,10 +759,12 @@ GNU General Public License for more details.\n"));
 
   if (opt.page_requisites && !opt.recursive)
     {
-      opt.recursive = TRUE;
+      /* Don't set opt.recursive here because it would confuse the FTP
+        code.  Instead, call retrieve_tree below when either
+        page_requisites or recursive is requested.  */
       opt.reclevel = 0;
       if (!opt.no_dirstruct)
-       opt.dirstruct = TRUE;  /* usually handled by cmd_spec_recursive() */
+       opt.dirstruct = 1;      /* normally handled by cmd_spec_recursive() */
     }
 
   if (opt.verbose == -1)
@@ -803,9 +805,8 @@ Can't timestamp and not clobber old files at the same time.\n"));
   if (opt.verbose)
     set_progress_implementation (opt.progress_type);
 
-  /* Allocate basic pointer.  */
-  url = ALLOCA_ARRAY (char *, nurl + 1);
   /* Fill in the arguments.  */
+  url = alloca_array (char *, nurl + 1);
   for (i = 0; i < nurl; i++, optind++)
     {
       char *rewritten = rewrite_shorthand_url (argv[optind]);
@@ -880,7 +881,8 @@ Can't timestamp and not clobber old files at the same time.\n"));
       char *filename = NULL, *redirected_URL = NULL;
       int dt;
 
-      if (opt.recursive && url_scheme (*t) != SCHEME_FTP)
+      if ((opt.recursive || opt.page_requisites)
+         && url_scheme (*t) != SCHEME_FTP)
        status = retrieve_tree (*t);
       else
        status = retrieve_url (*t, &filename, &redirected_URL, NULL, &dt);
@@ -893,8 +895,8 @@ Can't timestamp and not clobber old files at the same time.\n"));
            logprintf (LOG_NOTQUIET, "unlink: %s\n", strerror (errno));
        }
 
-      FREE_MAYBE (redirected_URL);
-      FREE_MAYBE (filename);
+      xfree_null (redirected_URL);
+      xfree_null (filename);
     }
 
   /* And then from the input file, if any.  */
@@ -907,18 +909,16 @@ Can't timestamp and not clobber old files at the same time.\n"));
                   opt.input_filename);
     }
   /* Print the downloaded sum.  */
-  if (opt.recursive
+  if (opt.recursive || opt.page_requisites
       || nurl > 1
-      || (opt.input_filename && opt.downloaded != 0))
+      || (opt.input_filename && total_downloaded_bytes != 0))
     {
       logprintf (LOG_NOTQUIET,
                 _("\nFINISHED --%s--\nDownloaded: %s bytes in %d files\n"),
-                time_str (NULL),
-                (opt.downloaded_overflow ?
-                 "<overflow>" : legible_very_long (opt.downloaded)),
+                time_str (NULL), legible_large_int (total_downloaded_bytes),
                 opt.numurls);
       /* Print quota warning, if exceeded.  */
-      if (downloaded_exceeds_quota ())
+      if (opt.quota && total_downloaded_bytes > opt.quota)
        logprintf (LOG_NOTQUIET,
                   _("Download quota (%s bytes) EXCEEDED!\n"),
                   legible (opt.quota));
@@ -928,9 +928,7 @@ Can't timestamp and not clobber old files at the same time.\n"));
     cookie_jar_save (wget_cookie_jar, opt.cookies_output);
 
   if (opt.convert_links && !opt.delete_after)
-    {
-      convert_all_links ();
-    }
+    convert_all_links ();
 
   log_close ();
   for (i = 0; i < nurl; i++)