X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fmain.c;h=1ad0a48cc8c273ae559e426132034b13f9109ef0;hp=2c30843007fe500b4d976d6c0a04c1478e13a7ef;hb=db61675ec0440336842fbc2c1382fc71ef434776;hpb=86395b297b58c8c9b43d7ca8c42b831d4926dac6 diff --git a/src/main.c b/src/main.c index 2c308430..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. @@ -28,7 +28,7 @@ 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 +#include "wget.h" #include #include @@ -37,14 +37,13 @@ as that of the covered work. */ #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" @@ -56,8 +55,7 @@ as that of the covered work. */ #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 '/' @@ -81,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. */ @@ -132,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 }, @@ -446,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_("\ @@ -534,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 @@ -675,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"), @@ -691,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; @@ -709,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. */ @@ -813,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; @@ -834,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) { @@ -871,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)