X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fmain.c;h=1ad0a48cc8c273ae559e426132034b13f9109ef0;hp=43cb344d43e203390d0480bffa8b0a7a7ed41d17;hb=db61675ec0440336842fbc2c1382fc71ef434776;hpb=5f341d6bc175e2cb046680587eaa281791b91ceb diff --git a/src/main.c b/src/main.c index 43cb344d..1ad0a48c 100644 --- a/src/main.c +++ b/src/main.c @@ -1,6 +1,6 @@ /* Command line parsing. Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Wget. @@ -17,17 +17,18 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Wget. If not, see . -In addition, as a special exception, the Free Software Foundation -gives permission to link the code of its release of Wget with the -OpenSSL project's "OpenSSL" library (or with modified versions of it -that use the same license as the "OpenSSL" library), and distribute -the linked executables. You must obey the GNU General Public License -in all respects for all of the code used other than "OpenSSL". If you -modify this file, you may extend this exception to your version of the -file, but you are not obligated to do so. If you do not wish to do -so, delete this exception statement from your version. */ +Additional permission under GNU GPL version 3 section 7 -#include +If you modify this program, or any covered work, by linking or +combining it with the OpenSSL project's OpenSSL library (or a +modified version of that library), containing parts covered by the +terms of the OpenSSL or SSLeay licenses, the Free Software Foundation +grants you additional permission to convey the resulting work. +Corresponding Source for a non-source form of such a combination +shall include the source code for the parts of OpenSSL used as well +as that of the covered work. */ + +#include "wget.h" #include #include @@ -36,14 +37,13 @@ so, delete this exception statement from your version. */ #endif /* HAVE_UNISTD_H */ #include #include -#ifdef HAVE_NLS +#ifdef ENABLE_NLS # include #endif #include #include #include -#include "wget.h" #include "utils.h" #include "init.h" #include "retr.h" @@ -55,8 +55,7 @@ so, delete this exception statement from your version. */ #include "spider.h" #include "http.h" /* for save_cookies */ -/* On GNU system this will include system-wide getopt.h. */ -#include "getopt.h" +#include #ifndef PATH_SEPARATOR # define PATH_SEPARATOR '/' @@ -80,14 +79,14 @@ const char *exec_name; static void i18n_initialize (void) { - /* HAVE_NLS implies existence of functions invoked here. */ -#ifdef HAVE_NLS + /* ENABLE_NLS implies existence of functions invoked here. */ +#ifdef ENABLE_NLS /* Set the current locale. */ setlocale (LC_ALL, ""); /* Set the text message domain. */ bindtextdomain ("wget", LOCALEDIR); textdomain ("wget"); -#endif /* HAVE_NLS */ +#endif /* ENABLE_NLS */ } /* Definition of command-line options. */ @@ -131,6 +130,7 @@ static struct cmdline_option option_data[] = { { "accept", 'A', OPT_VALUE, "accept", -1 }, { "append-output", 'a', OPT__APPEND_OUTPUT, NULL, required_argument }, + { "auth-no-challenge", 0, OPT_BOOLEAN, "authnochallenge", -1 }, { "background", 'b', OPT_BOOLEAN, "background", -1 }, { "backup-converted", 'K', OPT_BOOLEAN, "backupconverted", -1 }, { "backups", 0, OPT_BOOLEAN, "backups", -1 }, @@ -445,8 +445,6 @@ Download:\n"), --waitretry=SECONDS wait 1..SECONDS between retries of a retrieval.\n"), N_("\ --random-wait wait from 0...2*WAIT secs between retrievals.\n"), - N_("\ - -Y, --proxy explicitly turn on proxy.\n"), N_("\ --no-proxy explicitly turn off proxy.\n"), N_("\ @@ -533,7 +531,12 @@ HTTP options:\n"), N_("\ --post-file=FILE use the POST method; send contents of FILE.\n"), N_("\ - --no-content-disposition don't honor Content-Disposition header.\n"), + --content-disposition honor the Content-Disposition header when\n\ + choosing local file names (EXPERIMENTAL).\n"), + N_("\ + --auth-no-challenge Send Basic HTTP authentication information\n\ + without first waiting for the server's\n\ + challenge.\n"), "\n", #ifdef HAVE_SSL @@ -674,13 +677,17 @@ static void print_version (void) { printf ("GNU Wget %s\n\n", version_string); + /* TRANSLATORS: When available, an actual copyright character + (cirle-c) should be used in preference to "(C)". */ fputs (_("\ -Copyright (C) 2007 Free Software Foundation, Inc.\n"), stdout); +Copyright (C) 2008 Free Software Foundation, Inc.\n"), stdout); fputs (_("\ License GPLv3+: GNU GPL version 3 or later\n\ .\n\ This is free software: you are free to change and redistribute it.\n\ There is NO WARRANTY, to the extent permitted by law.\n"), stdout); + /* TRANSLATORS: When available, please use the proper diacritics for + names such as this one. See en_US.po for reference. */ fputs (_("\nOriginally written by Hrvoje Niksic .\n"), stdout); fputs (_("Currently maintained by Micah Cowan .\n"), @@ -690,7 +697,7 @@ There is NO WARRANTY, to the extent permitted by law.\n"), stdout); int -main (int argc, char *const *argv) +main (int argc, char **argv) { char **url, **t; int i, ret, longindex; @@ -708,7 +715,7 @@ main (int argc, char *const *argv) #ifdef WINDOWS /* Drop extension (typically .EXE) from executable filename. */ - windows_main (&argc, (char **) argv, (char **) &exec_name); + windows_main ((char **) &exec_name); #endif /* Set option defaults; read the system wgetrc and ~/.wgetrc. */ @@ -812,9 +819,9 @@ main (int argc, char *const *argv) before passing the value to setoptval. */ bool flag = true; if (optarg) - flag = (*optarg == '1' || TOLOWER (*optarg) == 'y' - || (TOLOWER (optarg[0]) == 'o' - && TOLOWER (optarg[1]) == 'n')); + flag = (*optarg == '1' || c_tolower (*optarg) == 'y' + || (c_tolower (optarg[0]) == 'o' + && c_tolower (optarg[1]) == 'n')); setoptval (opt->type == OPT__PARENT ? "noparent" : "noclobber", flag ? "0" : "1", opt->long_name); break; @@ -833,7 +840,10 @@ main (int argc, char *const *argv) interoption dependency checks. */ if (opt.reclevel == 0) - opt.reclevel = INFINITE_RECURSION; /* see recur.h for commentary on this */ + opt.reclevel = INFINITE_RECURSION; /* see recur.h for commentary */ + + if (opt.spider || opt.delete_after) + opt.no_dirstruct = true; if (opt.page_requisites && !opt.recursive) { @@ -870,22 +880,31 @@ Can't timestamp and not clobber old files at the same time.\n")); exit (1); } #endif - if (opt.output_document - && (opt.page_requisites - || opt.recursive - || opt.timestamping)) + if (opt.output_document) { - printf (_("Cannot specify -r, -p or -N if -O is given.\n")); + if (opt.convert_links + && (nurl > 1 || opt.page_requisites || opt.recursive)) + { + fputs (_("\ +Cannot specify both -k and -O if multiple URLs are given, or in combination\n\ +with -p or -r. See the manual for details.\n\n"), stdout); print_usage (); exit (1); - } - if (opt.output_document - && opt.convert_links - && nurl > 1) - { - printf (_("Cannot specify both -k and -O if multiple URLs are given.\n")); + } + if (opt.page_requisites + || opt.recursive) + { + logprintf (LOG_NOTQUIET, "%s", _("\ +WARNING: combining -O with -r or -p will mean that all downloaded content\n\ +will be placed in the single file you specified.\n\n")); + } + if (opt.timestamping) + { + fputs (_("\ +Cannot specify -N if -O is given. See the manual for details.\n\n"), stdout); print_usage (); exit (1); + } } if (!nurl && !opt.input_filename)