summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2004-06-17 13:09:21 +0000
committerJim Meyering <jim@meyering.net>2004-06-17 13:09:21 +0000
commit7870fa108121ddc3d4aa3ae252250040638a4f42 (patch)
treeeaa413ac4214f5b6462e24b68323c00697e61d65
parent417a1e5850fcff8b6beed66b5b7e2da3de88e325 (diff)
downloadcoreutils-7870fa108121ddc3d4aa3ae252250040638a4f42.tar.xz
(main): Handle "--".
-rw-r--r--src/chroot.c9
-rw-r--r--src/hostid.c8
-rw-r--r--src/hostname.c8
-rw-r--r--src/pwd.c8
-rw-r--r--src/sync.c8
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)
{
diff --git a/src/pwd.c b/src/pwd.c
index 468689200..6c64be740 100644
--- a/src/pwd.c
+++ b/src/pwd.c
@@ -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"));