mirror of
git://git.sv.gnu.org/coreutils
synced 2026-06-03 14:27:59 -04:00
Reject unknown options.
This commit is contained in:
+7
-13
@@ -73,29 +73,23 @@ 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], "--"))
|
||||
{
|
||||
--argc;
|
||||
++argv;
|
||||
}
|
||||
|
||||
if (argc < 2)
|
||||
if (argc < optind + 1)
|
||||
{
|
||||
error (0, 0, _("missing operand"));
|
||||
usage (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (2 < argc)
|
||||
if (optind + 1 < argc)
|
||||
{
|
||||
error (0, 0, _("extra operand %s"), quote (argv[2]));
|
||||
error (0, 0, _("extra operand %s"), quote (argv[optind + 1]));
|
||||
usage (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (unlink (argv[1]) != 0)
|
||||
error (EXIT_FAILURE, errno, _("cannot unlink %s"), quote (argv[1]));
|
||||
if (unlink (argv[optind]) != 0)
|
||||
error (EXIT_FAILURE, errno, _("cannot unlink %s"), quote (argv[optind]));
|
||||
|
||||
exit (EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user