]> sjero.net Git - wget/commitdiff
Introduce --no-config. The wgetrc files will not be read
authorDarshit Shah <darnir@gmail.com>
Fri, 17 Jan 2014 09:46:38 +0000 (15:16 +0530)
committerGiuseppe Scrivano <gscrivan@redhat.com>
Wed, 22 Jan 2014 20:59:06 +0000 (21:59 +0100)
In case of a conflict between --config and --no-config, the one
that appears first will be considered and the other ignored.

NEWS
src/ChangeLog
src/init.c
src/main.c
src/options.h

diff --git a/NEWS b/NEWS
index a4bcb5272fa659027b6322fcb95811b5a5c59918..1de425ddf69c35c2b3ec91c33233cb96d989cd43 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,8 @@ See the end for copying conditions.
 Please send GNU Wget bug reports to <bug-wget@gnu.org>.
 \f
 * Changes in Wget X.Y.Z
+
+** Introduce --no-config.
 \f
 * Changes in Wget 1.15
 
index 0ac1ac61f98c52b031fa3a83d95f47f2558d1a59..12f2a0489960a254d4cce2c58c4acd71f0a8850d 100644 (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
index a64dabe6ad9f453cdc13282a2665771b2dee9763..43d5ae989cd34dc40f8d29f20fffde817a6d69e7 100644 (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*/
index 19d7253d8b4b5d5f974b97f3a94fe84442d075a5..2aa961da8543021d9bd4806def770fb15ca55dc2 100644 (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;
index ad896275a4595fc757cde6fdc4fedac16efed656..e00fadc784a537f0c287505a1873cf64b883c8b5 100644 (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) */