From a4b6efd473282a0f4bc949da790cadafe2791f1d Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 21 Oct 2002 18:15:13 +0000 Subject: [PATCH] (getargs): When there are too few operands, report the last one. When there are too many, report the first extra one. This is how diffutils does it. --- src/getargs.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/getargs.c b/src/getargs.c index fc8ac9b..450a9fa 100644 --- a/src/getargs.c +++ b/src/getargs.c @@ -1,5 +1,5 @@ /* 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. @@ -410,11 +410,12 @@ getargs (int argc, char *argv[]) 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); } -- 2.7.4