From aa1ed281856ed207f1fc1f8a60ffcf32330c8fc2 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 21 Sep 2004 22:05:52 +0000 Subject: Reject unknown options. --- src/yes.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'src/yes.c') diff --git a/src/yes.c b/src/yes.c index 56b15f736..6d0068662 100644 --- a/src/yes.c +++ b/src/yes.c @@ -73,25 +73,19 @@ main (int argc, char **argv) parse_long_options (argc, argv, PROGRAM_NAME, GNU_PACKAGE, VERSION, usage, AUTHORS, (char const *) NULL); + if (getopt (argc, argv, "+") != -1) + usage (EXIT_FAILURE); - /* The above handles --help and --version. - Since there is no other invocation of getopt, handle `--' here. */ - if (1 < argc && STREQ (argv[1], "--")) + if (argc <= optind) { - --argc; - ++argv; - } - - if (argc == 1) - { - argv[1] = "y"; - argc = 2; + optind = argc; + argv[argc++] = "y"; } for (;;) { int i; - for (i = 1; i < argc; i++) + for (i = optind; i < argc; i++) if (fputs (argv[i], stdout) == EOF || putchar (i == argc - 1 ? '\n' : ' ') == EOF) { -- cgit v1.2.3-54-g00ecf