diff options
-rw-r--r-- | src/chroot.c | 9 | ||||
-rw-r--r-- | src/hostid.c | 8 | ||||
-rw-r--r-- | src/hostname.c | 8 | ||||
-rw-r--r-- | src/pwd.c | 8 | ||||
-rw-r--r-- | src/sync.c | 8 |
5 files changed, 41 insertions, 0 deletions
diff --git a/src/chroot.c b/src/chroot.c index 5a28e32c4..3d196af6e 100644 --- a/src/chroot.c +++ b/src/chroot.c @@ -75,6 +75,15 @@ main (int argc, char **argv) parse_long_options (argc, argv, PROGRAM_NAME, GNU_PACKAGE, VERSION, usage, AUTHORS, (char const *) NULL); + + /* 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 <= 1) { error (0, 0, _("too few arguments")); diff --git a/src/hostid.c b/src/hostid.c index 095b75891..a262e7874 100644 --- a/src/hostid.c +++ b/src/hostid.c @@ -73,6 +73,14 @@ main (int argc, char **argv) parse_long_options (argc, argv, PROGRAM_NAME, GNU_PACKAGE, VERSION, usage, AUTHORS, (char const *) NULL); + /* 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 > 1) { error (0, 0, _("too many arguments")); diff --git a/src/hostname.c b/src/hostname.c index c9b62e446..ff7b4e4cc 100644 --- a/src/hostname.c +++ b/src/hostname.c @@ -97,6 +97,14 @@ main (int argc, char **argv) parse_long_options (argc, argv, PROGRAM_NAME, GNU_PACKAGE, VERSION, usage, AUTHORS, (char const *) NULL); + /* The above handles --help and --version. + Since there is no other invocation of getopt, handle `--' here. */ + if (1 < argc && STREQ (argv[1], "--")) + { + --argc; + ++argv; + } + #ifdef HAVE_SETHOSTNAME if (argc == 2) { @@ -306,6 +306,14 @@ main (int argc, char **argv) parse_long_options (argc, argv, PROGRAM_NAME, GNU_PACKAGE, VERSION, usage, AUTHORS, (char const *) NULL); + /* 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 (1 < argc) error (0, 0, _("ignoring non-option arguments")); diff --git a/src/sync.c b/src/sync.c index 7dbbc5566..045b820c2 100644 --- a/src/sync.c +++ b/src/sync.c @@ -67,6 +67,14 @@ main (int argc, char **argv) parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE, VERSION, usage, AUTHORS, (char const *) NULL); + /* 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 (1 < argc) error (0, 0, _("ignoring all arguments")); |