Introduce --no-config. The wgetrc files will not be read

In case of a conflict between --config and --no-config, the one
that appears first will be considered and the other ignored.
This commit is contained in:
Darshit Shah 2014-01-17 15:16:38 +05:30 committed by Giuseppe Scrivano
parent 87186cbc2f
commit b9e5c3e8b3
5 changed files with 25 additions and 4 deletions

2
NEWS
View File

@ -7,6 +7,8 @@ See the end for copying conditions.
Please send GNU Wget bug reports to <bug-wget@gnu.org>.
* Changes in Wget X.Y.Z
** Introduce --no-config.
* Changes in Wget 1.15

View File

@ -1,3 +1,11 @@
2014-01-17 Darshit Shah <darnir@gmail.com>
* init.c (commands[]): Add --no-config.
* options.h: Same.
* main.c (option_data[]): Same.
(print_help): Same.
(main): If --no-config is set, then do not read the wgetrc files.
2014-01-05 Håkon Vågsether <hauk142@gmail.com> (tiny change)
* http.c (http_loop): Fix checking the URL length when filename is

View File

@ -160,7 +160,7 @@ static const struct {
#ifdef ENABLE_DEBUG
{ "debug", &opt.debug, cmd_boolean },
#endif
{ "defaultpage", &opt.default_page, cmd_string },
{ "defaultpage", &opt.default_page, cmd_string },
{ "deleteafter", &opt.delete_after, cmd_boolean },
{ "dirprefix", &opt.dir_prefix, cmd_directory },
{ "dirstruct", NULL, cmd_spec_dirstruct },
@ -220,6 +220,7 @@ static const struct {
{ "mirror", NULL, cmd_spec_mirror },
{ "netrc", &opt.netrc, cmd_boolean },
{ "noclobber", &opt.noclobber, cmd_boolean },
{ "noconfig", &opt.noconfig, cmd_boolean },
{ "noparent", &opt.no_parent, cmd_boolean },
{ "noproxy", &opt.no_proxy, cmd_vector },
{ "numtries", &opt.ntry, cmd_number_inf },/* deprecated*/

View File

@ -238,6 +238,7 @@ static struct cmdline_option option_data[] =
{ "mirror", 'm', OPT_BOOLEAN, "mirror", -1 },
{ "no", 'n', OPT__NO, NULL, required_argument },
{ "no-clobber", 0, OPT_BOOLEAN, "noclobber", -1 },
{ "no-config", 0, OPT_BOOLEAN, "noconfig", -1},
{ "no-parent", 0, OPT_BOOLEAN, "noparent", -1 },
{ "output-document", 'O', OPT_VALUE, "outputdocument", -1 },
{ "output-file", 'o', OPT_VALUE, "logfile", -1 },
@ -473,7 +474,9 @@ Logging and input file:\n"),
-B, --base=URL resolves HTML input-file links (-i -F)\n\
relative to URL.\n"),
N_("\
--config=FILE Specify config file to use.\n"),
--config=FILE Specify config file to use.\n"),
N_("\
--no-config Do not read any config file.\n"),
"\n",
N_("\
@ -1045,6 +1048,7 @@ main (int argc, char **argv)
longindex = -1;
int retconf;
bool use_userconfig = false;
bool noconfig = false;
while ((retconf = getopt_long (argc, argv,
short_options, long_options, &longindex)) != -1)
@ -1057,7 +1061,12 @@ main (int argc, char **argv)
{
confval = long_options[longindex].val;
config_opt = &option_data[confval & ~BOOLEAN_NEG_MARKER];
if (strcmp (config_opt->long_name, "config") == 0)
if (strcmp (config_opt->long_name, "no-config") == 0)
{
noconfig = true;
break;
}
else if (strcmp (config_opt->long_name, "config") == 0)
{
bool userrc_ret = true;
userrc_ret &= run_wgetrc (optarg);
@ -1074,7 +1083,7 @@ main (int argc, char **argv)
}
/* If the user did not specify a config, read the system wgetrc and ~/.wgetrc. */
if (use_userconfig == false)
if (noconfig == false && use_userconfig == false)
initialize ();
opterr = 0;

View File

@ -60,6 +60,7 @@ struct options
char *lfilename; /* Log filename */
char *input_filename; /* Input filename */
char *choose_config; /* Specified config file */
bool noconfig;
bool force_html; /* Is the input file an HTML file? */
char *default_page; /* Alternative default page (index file) */