/* 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.
| Display the help message and exit STATUS. |
`-------------------------------------------*/
+static void usage (int) ATTRIBUTE_NORETURN;
+
static void
usage (int status)
{
break;
case 'h':
- usage (0);
+ usage (EXIT_SUCCESS);
case 'V':
version ();
- exit (0);
+ exit (EXIT_SUCCESS);
case 'g':
/* Here, the -g and --graph=FILE options are differentiated. */
break;
default:
- fprintf (stderr, _("Try `%s --help' for more information.\n"),
- program_name);
- exit (1);
+ usage (EXIT_FAILURE);
}
- 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);
}
- infile = argv[optind];
+ infile = xstrdup (argv[optind]);
}