From a92a94f719519ab5a06a2b704c656de9b4c4dc1c Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 4 Apr 1993 14:41:38 +0000 Subject: [PATCH] (usage): Mention --help and --version. (main): Handle flag_help and flag_version before checking for invocation errors. --- src/chgrp.c | 8 ++++---- src/chmod.c | 14 ++++++++------ src/chown.c | 8 ++++---- src/cp.c | 6 +++--- src/dd.c | 2 +- src/df.c | 2 +- src/du.c | 10 +++++----- src/install.c | 16 ++++++++-------- src/ln.c | 7 ++++--- src/ls.c | 3 ++- src/mkdir.c | 8 ++++---- src/mkfifo.c | 8 ++++---- src/mknod.c | 6 ++++-- src/mv.c | 8 +++++--- src/rm.c | 2 +- src/rmdir.c | 8 ++++---- src/touch.c | 2 +- 17 files changed, 63 insertions(+), 55 deletions(-) diff --git a/src/chgrp.c b/src/chgrp.c index 2dba1eed4a..31a74259cf 100644 --- a/src/chgrp.c +++ b/src/chgrp.c @@ -125,15 +125,15 @@ main (argc, argv) } } - if (optind >= argc - 1) - usage (); - if (flag_version) fprintf (stderr, "%s\n", version_string); if (flag_help) usage (); + if (optind >= argc - 1) + usage (); + parse_group (argv[optind++], &group); for (; optind < argc; ++optind) @@ -292,7 +292,7 @@ usage () { fprintf (stderr, "\ Usage: %s [-Rcfv] [--recursive] [--changes] [--silent] [--quiet]\n\ - [--verbose] group file...\n", + [--verbose] [--help] [--version] group file...\n", program_name); exit (1); } diff --git a/src/chmod.c b/src/chmod.c index de93b0f0ca..b955b3f889 100644 --- a/src/chmod.c +++ b/src/chmod.c @@ -140,17 +140,18 @@ main (argc, argv) } } - if (modeind == 0) - modeind = optind++; - if (optind >= argc) - usage (); - if (flag_version) fprintf (stderr, "%s\n", version_string); if (flag_help) usage (); + if (modeind == 0) + modeind = optind++; + + if (optind >= argc) + usage (); + changes = mode_compile (argv[modeind], MODE_MASK_EQUALS | MODE_MASK_PLUS | MODE_MASK_MINUS); if (changes == MODE_INVALID) @@ -288,7 +289,8 @@ static void usage () { fprintf (stderr, "\ -Usage: %s [-Rcfv] mode file...\n\ +Usage: %s [-Rcfv] [--recursive] [--changes] [--silent] [--quiet]\n\ + [--verbose] [--help] [--version] mode file...\n\ mode is [ugoa...][[+-=][rwxXstugo...]...][,...] or octal number\n", program_name); exit (1); diff --git a/src/chown.c b/src/chown.c index e693e662a3..3971175e2d 100644 --- a/src/chown.c +++ b/src/chown.c @@ -137,15 +137,15 @@ main (argc, argv) } } - if (optind >= argc - 1) - usage (); - if (flag_version) fprintf (stderr, "%s\n", version_string); if (flag_help) usage (); + if (optind >= argc - 1) + usage (); + e = parse_user_spec (argv[optind], &user, &group, &username, &groupname); if (e) error (1, 0, "%s: %s", argv[optind], e); @@ -280,7 +280,7 @@ usage () { fprintf (stderr, "\ Usage: %s [-Rcfv] [--recursive] [--changes] [--silent] [--quiet]\n\ - [--verbose] [user][:.][group] file...\n", + [--verbose] [--help] [--version] [user][:.][group] file...\n", program_name); exit (1); } diff --git a/src/cp.c b/src/cp.c index f3a7c0a974..830861d0e1 100644 --- a/src/cp.c +++ b/src/cp.c @@ -258,15 +258,15 @@ main (argc, argv) } } - if (flag_hard_link && flag_symbolic_link) - usage ("cannot make both hard and symbolic links"); - if (flag_version) fprintf (stderr, "%s\n", version_string); if (flag_help) usage (NULL); + if (flag_hard_link && flag_symbolic_link) + usage ("cannot make both hard and symbolic links"); + if (make_backups) backup_type = get_version (version); diff --git a/src/dd.c b/src/dd.c index 06d9f6e246..3c89df6b82 100644 --- a/src/dd.c +++ b/src/dd.c @@ -1059,7 +1059,7 @@ usage () Usage: %s [if=file] [of=file] [ibs=bytes] [obs=bytes] [bs=bytes] [cbs=bytes]\n\ [skip=blocks] [seek=blocks] [count=blocks]\n\ [conv={ascii,ebcdic,ibm,block,unblock,lcase,ucase,swab,noerror,notrunc,\n\ - sync}]\n\ + sync}] [--help] [--version]\n\ Numbers can be followed by a multiplier:\n\ b=512, k=1024, w=2, xm=number m\n", program_name); diff --git a/src/df.c b/src/df.c index bdc834cac7..af74503ebc 100644 --- a/src/df.c +++ b/src/df.c @@ -458,7 +458,7 @@ usage () fprintf (stderr, "\ Usage: %s [-aikPv] [-t fstype] [-x fstype] [--all] [--inodes]\n\ \t[--type=fstype] [--exclude-type=fstype] [--kilobytes] [--portability]\n\ -\t[path...]\n", +\t[--help] [--version] [path...]\n", program_name); exit (1); } diff --git a/src/du.c b/src/du.c index 90cb303b0b..3d845e90c4 100644 --- a/src/du.c +++ b/src/du.c @@ -188,7 +188,7 @@ usage (reason) fprintf (stderr, "\ Usage: %s [-abcklsxDLS] [--all] [--total] [--count-links] [--summarize]\n\ [--bytes] [--kilobytes] [--one-file-system] [--separate-dirs]\n\ - [--dereference] [--dereference-args] [path...]\n", + [--dereference] [--dereference-args] [--help] [--version] [path...]\n", program_name); exit (2); @@ -258,14 +258,14 @@ main (argc, argv) } } - if (opt_all && opt_summarize_only) - usage ("cannot both summarize and show all entries"); - if (flag_version) fprintf (stderr, "%s\n", version_string); if (flag_help) - usage (""); + usage (NULL); + + if (opt_all && opt_summarize_only) + usage ("cannot both summarize and show all entries"); /* Initialize the hash structure for inode numbers. */ hash_init (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE); diff --git a/src/install.c b/src/install.c index dd8b58cc73..d2ad40b0b1 100644 --- a/src/install.c +++ b/src/install.c @@ -194,18 +194,18 @@ main (argc, argv) } } - /* Check for invalid combinations of arguments. */ - if ((dir_arg && strip_files) - || (optind == argc) - || (optind == argc - 1 && !dir_arg)) - usage (); - if (flag_version) fprintf (stderr, "%s\n", version_string); if (flag_help) usage (); + /* Check for invalid combinations of arguments. */ + if ((dir_arg && strip_files) + || (optind == argc) + || (optind == argc - 1 && !dir_arg)) + usage (); + if (symbolic_mode) { struct mode_change *change = mode_compile (symbolic_mode, 0); @@ -511,8 +511,8 @@ Usage: %s [options] [-s] [--strip] source dest\n\ %s [options] [-s] [--strip] source... directory\n\ %s [options] {-d,--directory} directory...\n\ Options:\n\ - [-c] [-g group] [-m mode] [-o owner]\n\ - [--group=group] [--mode=mode] [--owner=owner]\n", + [-c] [-g group] [-m mode] [-o owner] [--group=group]\n\ + [--help] [--version] [--mode=mode] [--owner=owner]\n", program_name, program_name, program_name); exit (1); } diff --git a/src/ln.c b/src/ln.c index 6734103637..ccad07769b 100644 --- a/src/ln.c +++ b/src/ln.c @@ -148,8 +148,6 @@ main (argc, argv) break; } } - if (optind == argc) - usage (); if (flag_version) fprintf (stderr, "%s\n", version_string); @@ -157,6 +155,9 @@ main (argc, argv) if (flag_help) usage (); + if (optind == argc) + usage (); + if (make_backups) backup_type = get_version (version); @@ -303,7 +304,7 @@ Options:\n\ [-bdfisvF] [-S backup-suffix] [-V {numbered,existing,simple}]\n\ [--version-control={numbered,existing,simple}] [--backup] [--directory]\n\ [--force] [--interactive] [--symbolic] [--verbose]\n\ - [--suffix=backup-suffix]\n", + [--suffix=backup-suffix] [--help] [--version]\n", program_name, program_name); exit (1); } diff --git a/src/ls.c b/src/ls.c index a171664afb..f50426b8dc 100644 --- a/src/ls.c +++ b/src/ls.c @@ -1859,6 +1859,7 @@ Usage: %s [-abcdgiklmnpqrstuxABCFGLNQRSUX1] [-w cols] [-T cols] [-I pattern]\n\ [--classify] [--file-type] [--ignore=pattern] [--dereference]\n\ [--quote-name] [--recursive] [--sort={none,time,size,extension}]\n\ [--format={long,verbose,commas,across,vertical,single-column}]\n\ - [--time={atime,access,use,ctime,status}] [--no-group] [path...]\n"); + [--time={atime,access,use,ctime,status}] [--no-group]\n\ + [--help] [--version] [path...]\n"); exit (1); } diff --git a/src/mkdir.c b/src/mkdir.c index 3d98ac6271..e9da99beb1 100644 --- a/src/mkdir.c +++ b/src/mkdir.c @@ -91,15 +91,15 @@ main (argc, argv) } } - if (optind == argc) - usage (); - if (flag_version) fprintf (stderr, "%s\n", version_string); if (flag_help) usage (); + if (optind == argc) + usage (); + newmode = 0777 & ~umask (0); parent_mode = newmode | 0300; /* u+wx */ if (symbolic_mode) @@ -130,7 +130,7 @@ static void usage () { fprintf (stderr, "\ -Usage: %s [-p] [-m mode] [--path] [--mode=mode] dir...\n", +Usage: %s [-p] [-m mode] [--path] [--mode=mode] [--help] [--version] dir...\n", program_name); exit (1); } diff --git a/src/mkfifo.c b/src/mkfifo.c index a6a78f105f..be765f4889 100644 --- a/src/mkfifo.c +++ b/src/mkfifo.c @@ -79,15 +79,15 @@ main (argc, argv) } } - if (optind == argc) - usage (); - if (flag_version) fprintf (stderr, "%s\n", version_string); if (flag_help) usage (); + if (optind == argc) + usage (); + newmode = 0666 & ~umask (0); if (symbolic_mode) { @@ -117,7 +117,7 @@ static void usage () { fprintf (stderr, "\ -Usage: %s [-m mode] [--mode=mode] path...\n", +Usage: %s [-m mode] [--mode=mode] [--help] [--version] path...\n", program_name); exit (1); } diff --git a/src/mknod.c b/src/mknod.c index 7e65ac01f5..08f3f89593 100644 --- a/src/mknod.c +++ b/src/mknod.c @@ -152,8 +152,10 @@ static void usage () { fprintf (stderr, "\ -Usage: %s [-m mode] [--mode=mode] path {bcu} major minor\n\ - %s [-m mode] [--mode=mode] path p\n", +Usage: %s [options] path {bcu} major minor\n\ + %s [options] path p\n\ +Options:\n\ + [-m mode] [--mode=mode] [--help] [--version]\n", program_name, program_name); exit (1); } diff --git a/src/mv.c b/src/mv.c index 91906e1393..05a8fa11fc 100644 --- a/src/mv.c +++ b/src/mv.c @@ -160,8 +160,6 @@ main (argc, argv) usage (); } } - if (argc < optind + 2) - usage (); if (flag_version) fprintf (stderr, "%s\n", version_string); @@ -169,6 +167,9 @@ main (argc, argv) if (flag_help) usage (); + if (argc < optind + 2) + usage (); + if (make_backups) backup_type = get_version (version); @@ -447,7 +448,8 @@ Usage: %s [options] source dest\n\ Options:\n\ [-bfiuv] [-S backup-suffix] [-V {numbered,existing,simple}]\n\ [--backup] [--force] [--interactive] [--update] [--verbose]\n\ - [--suffix=backup-suffix] [--version-control={numbered,existing,simple}]\n", + [--suffix=backup-suffix] [--version-control={numbered,existing,simple}]\n\ + [--help] [--version]\n", program_name, program_name); exit (1); } diff --git a/src/rm.c b/src/rm.c index 0dec9d133e..d0f98dad1f 100644 --- a/src/rm.c +++ b/src/rm.c @@ -514,7 +514,7 @@ usage () { fprintf (stderr, "\ Usage: %s [-dfirvR] [--directory] [--force] [--interactive] [--recursive]\n\ - [--verbose] path...\n", + [--verbose] [--help] [--version] path...\n", program_name); exit (1); } diff --git a/src/rmdir.c b/src/rmdir.c index aaaeb4df6e..a532353892 100644 --- a/src/rmdir.c +++ b/src/rmdir.c @@ -79,15 +79,15 @@ main (argc, argv) } } - if (optind == argc) - usage (); - if (flag_version) fprintf (stderr, "%s\n", version_string); if (flag_help) usage (); + if (optind == argc) + usage (); + for (; optind < argc; ++optind) { /* Stripping slashes is harmless for rmdir; @@ -131,7 +131,7 @@ remove_parents (path) static void usage () { - fprintf (stderr, "Usage: %s [-p] [--path] dir...\n", + fprintf (stderr, "Usage: %s [-p] [--path] [--help] [--version] dir...\n", program_name); exit (1); } diff --git a/src/touch.c b/src/touch.c index 7be500bdf3..65072176ba 100644 --- a/src/touch.c +++ b/src/touch.c @@ -366,7 +366,7 @@ usage () fprintf (stderr, "\ Usage: %s [-acfm] [-r reference-file] [-t MMDDhhmm[[CC]YY][.ss]]\n\ [-d time] [--time={atime,access,use,mtime,modify}] [--date=time]\n\ - [--file=reference-file] [--no-create] file...\n", + [--file=reference-file] [--no-create] [--help] [--version] file...\n", program_name); exit (1); } -- 2.47.3