]> git.saurik.com Git - bison.git/commitdiff
(getargs): When there are too few operands, report the last one. When
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 21 Oct 2002 18:15:13 +0000 (18:15 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 21 Oct 2002 18:15:13 +0000 (18:15 +0000)
there are too many, report the first extra one.  This is how diffutils
does it.

src/getargs.c

index fc8ac9b996e3ba6723670968254bfef821e11694..450a9fa8f5b60d3e124f851491f29d38dcf17867 100644 (file)
@@ -1,5 +1,5 @@
 /* Parse command line arguments for bison.
 /* Parse command line arguments for bison.
-   Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002
+   Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002
    Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
    Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
@@ -410,11 +410,12 @@ getargs (int argc, char *argv[])
        exit (1);
       }
 
        exit (1);
       }
 
-  if (optind != argc - 1)
+  if (argc - optind != 1)
     {
     {
-      error (0, 0,
-            (optind == argc
-             ? _("too few arguments") : _("too many arguments")));
+      if (argc - optind < 1)
+       error (0, 0, _("missing operand after `%s'"), argv[argc - 1]);
+      else
+       error (0, 0, _("extra operand `%s'"), argv[optind + 1]);
       usage (EXIT_FAILURE);
     }
 
       usage (EXIT_FAILURE);
     }