summaryrefslogtreecommitdiff
path: root/src/chmod.c
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1993-10-08 00:51:10 +0000
committerJim Meyering <jim@meyering.net>1993-10-08 00:51:10 +0000
commit95f7eb6267b6fa36b92e247eca2728cde8130f03 (patch)
treeb667ee079ab3c23c5e8506bb92cc0650f5cee7fb /src/chmod.c
parentd9d6720b77c2777aefcbabdfbd6dd250872d3a36 (diff)
downloadcoreutils-95f7eb6267b6fa36b92e247eca2728cde8130f03.tar.xz
merge with 3.8.3d
Diffstat (limited to 'src/chmod.c')
-rw-r--r--src/chmod.c36
1 files changed, 27 insertions, 9 deletions
diff --git a/src/chmod.c b/src/chmod.c
index 511e3e22a..9df0c33be 100644
--- a/src/chmod.c
+++ b/src/chmod.c
@@ -149,7 +149,7 @@ main (argc, argv)
verbose = 1;
break;
default:
- usage ();
+ usage (1);
}
}
@@ -160,13 +160,13 @@ main (argc, argv)
}
if (show_help)
- usage ();
+ usage (0);
if (modeind == 0)
modeind = optind++;
if (optind >= argc)
- usage ();
+ usage (1);
changes = mode_compile (argv[modeind],
MODE_MASK_EQUALS | MODE_MASK_PLUS | MODE_MASK_MINUS);
@@ -302,12 +302,30 @@ describe_change (file, mode, changed)
}
static void
-usage ()
+usage (status)
+ int status;
{
fprintf (stderr, "\
-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);
+Usage: %s [OPTION]... MODE[,MODE]... FILE...\n\
+ or: %s [OPTION]... OCTAL_MODE FILE...\n\
+\n",
+ program_name, program_name);
+
+ if (status == 0)
+ fprintf (stderr, "\
+ -c, --changes be verbose whenever change occurs\n\
+ -f, --silent, --quiet avoid most error messages\n\
+ -v, --verbose explain what is being done\n\
+ -R, --recursive change files and directories recursively\n\
+ --help provide this help\n\
+ --version show program version\n\
+\n\
+Each MODE is one or more of letters ugoa, one of the signs +-= and one\n\
+or more of letters rwxXstugo.\n");
+
+ else
+ fprintf (stderr, "Try `%s --help' for more information.\n",
+ program_name);
+
+ exit (status);
}