]> sjero.net Git - wget/commitdiff
[svn] Propagate option name to init.c code so error messages mention the
authorhniksic <devnull@localhost>
Thu, 5 May 2005 18:45:05 +0000 (11:45 -0700)
committerhniksic <devnull@localhost>
Thu, 5 May 2005 18:45:05 +0000 (11:45 -0700)
failed command-line option.

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

index 1724addec8b4239649c2dd6c07b7a0c603228089..3811d130e48926844e44ff8b64e8e77fed8688da 100644 (file)
@@ -1,3 +1,11 @@
+2005-05-05  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * main.c (main): Propagate option name to setoptval.
+
+       * init.c (setoptval): Accept another argument, OPTNAME.  Propagate
+       that argument as the option name independently of the actual
+       command, determined by command_by_name(com).
+
 2005-05-05  Hrvoje Niksic  <hniksic@xemacs.org>
 
        * init.c (parse_line): Make the return value indicate whether
index f4dfdd9ab7d4130fddcbb572bb3d03233c8a4bbe..b70a7c6efcd1de88400c6c9eeabf593f2c833089 100644 (file)
@@ -627,10 +627,16 @@ setval_internal (int comind, const char *com, const char *val)
    to accept COMIND directly.  */
 
 void
-setoptval (const char *com, const char *val)
+setoptval (const char *com, const char *val, const char *optname)
 {
+  /* Prepend "--" to OPTNAME. */
+  char *dd_optname = (char *) alloca (2 + strlen (optname) + 1);
+  dd_optname[0] = '-';
+  dd_optname[1] = '-';
+  strcpy (dd_optname + 2, optname);
+
   assert (val != NULL);
-  if (!setval_internal (command_by_name (com), com, val))
+  if (!setval_internal (command_by_name (com), dd_optname, val))
     exit (2);
 }
 
index 048653ba14daf9a2cc34aa89d7a9f8071321bbc5..3bddd16db741714af65288b98d106ef8ae475fe9 100644 (file)
@@ -32,7 +32,7 @@ so, delete this exception statement from your version.  */
 
 void initialize PARAMS ((void));
 void run_command PARAMS ((const char *));
-void setoptval PARAMS ((const char *, const char *));
+void setoptval PARAMS ((const char *, const char *, const char *));
 char *home_dir PARAMS ((void));
 void cleanup PARAMS ((void));
 
index a1191ad6b2ef7c020270e007daebf05782321b59..836ae3c8e27984dbaf3d28fdcad021ffa2219470 100644 (file)
@@ -721,17 +721,17 @@ main (int argc, char *const *argv)
       switch (opt->type)
        {
        case OPT_VALUE:
-         setoptval (opt->data, optarg);
+         setoptval (opt->data, optarg, opt->long_name);
          break;
        case OPT_BOOLEAN:
          if (optarg)
            /* The user has specified a value -- use it. */
-           setoptval (opt->data, optarg);
+           setoptval (opt->data, optarg, opt->long_name);
          else
            {
              /* NEG is true for `--no-FOO' style boolean options. */
              int neg = val & BOOLEAN_NEG_MARKER;
-             setoptval (opt->data, neg ? "0" : "1");
+             setoptval (opt->data, neg ? "0" : "1", opt->long_name);
            }
          break;
        case OPT_FUNCALL:
@@ -741,7 +741,7 @@ main (int argc, char *const *argv)
          }
          break;
        case OPT__APPEND_OUTPUT:
-         setoptval ("logfile", optarg);
+         setoptval ("logfile", optarg, opt->long_name);
          append_to_log = 1;
          break;
        case OPT__EXECUTE:
@@ -757,19 +757,19 @@ main (int argc, char *const *argv)
              switch (*p)
                {
                case 'v':
-                 setoptval ("verbose", "0");
+                 setoptval ("verbose", "0", opt->long_name);
                  break;
                case 'H':
-                 setoptval ("addhostdir", "0");
+                 setoptval ("addhostdir", "0", opt->long_name);
                  break;
                case 'd':
-                 setoptval ("dirstruct", "0");
+                 setoptval ("dirstruct", "0", opt->long_name);
                  break;
                case 'c':
-                 setoptval ("noclobber", "1");
+                 setoptval ("noclobber", "1", opt->long_name);
                  break;
                case 'p':
-                 setoptval ("noparent", "1");
+                 setoptval ("noparent", "1", opt->long_name);
                  break;
                default:
                  printf (_("%s: illegal option -- `-n%c'\n"), exec_name, *p);
@@ -792,11 +792,11 @@ main (int argc, char *const *argv)
                      || (TOLOWER (optarg[0]) == 'o'
                          && TOLOWER (optarg[1]) == 'n'));
            setoptval (opt->type == OPT__PARENT ? "noparent" : "noclobber",
-                      flag ? "0" : "1");
+                      flag ? "0" : "1", opt->long_name);
            break;
          }
        case OPT__DONT_REMOVE_LISTING:
-         setoptval ("removelisting", "0");
+         setoptval ("removelisting", "0", opt->long_name);
          break;
        }