diff options
author | Ruediger Meier | 2017-06-19 00:02:44 +0200 |
---|---|---|
committer | Ruediger Meier | 2017-06-26 14:38:24 +0200 |
commit | 6d7bee26bc4f5586b073f9b539453a7499403ea7 (patch) | |
tree | 1a620a48334963f9a25cc021b28d252cb10e71eb /sys-utils/flock.c | |
parent | tools: add checkusage.sh (diff) | |
download | kernel-qcow2-util-linux-6d7bee26bc4f5586b073f9b539453a7499403ea7.tar.gz kernel-qcow2-util-linux-6d7bee26bc4f5586b073f9b539453a7499403ea7.tar.xz kernel-qcow2-util-linux-6d7bee26bc4f5586b073f9b539453a7499403ea7.zip |
flock, getopt: write --help to stdout and return 0
... and use errtryhelp() instead of usage().
Note in past "getopt --help" returned 2. But it is otherwise
documented and was just a mistake IMO. See the unreachable exit(0)
which was removed here: d1d03b54
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Diffstat (limited to 'sys-utils/flock.c')
-rw-r--r-- | sys-utils/flock.c | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/sys-utils/flock.c b/sys-utils/flock.c index 003a12618..5abe2def5 100644 --- a/sys-utils/flock.c +++ b/sys-utils/flock.c @@ -46,34 +46,34 @@ #include "monotonic.h" #include "timer.h" -static void __attribute__((__noreturn__)) usage(int ex) +static void __attribute__((__noreturn__)) usage(void) { - fprintf(stderr, USAGE_HEADER); - fprintf(stderr, + fputs(USAGE_HEADER, stdout); + printf( _(" %1$s [options] <file>|<directory> <command> [<argument>...]\n" " %1$s [options] <file>|<directory> -c <command>\n" " %1$s [options] <file descriptor number>\n"), program_invocation_short_name); - fputs(USAGE_SEPARATOR, stderr); - fputs(_("Manage file locks from shell scripts.\n"), stderr); - - fputs(USAGE_OPTIONS, stderr); - fputs(_( " -s, --shared get a shared lock\n"), stderr); - fputs(_( " -x, --exclusive get an exclusive lock (default)\n"), stderr); - fputs(_( " -u, --unlock remove a lock\n"), stderr); - fputs(_( " -n, --nonblock fail rather than wait\n"), stderr); - fputs(_( " -w, --timeout <secs> wait for a limited amount of time\n"), stderr); - fputs(_( " -E, --conflict-exit-code <number> exit code after conflict or timeout\n"), stderr); - fputs(_( " -o, --close close file descriptor before running command\n"), stderr); - fputs(_( " -c, --command <command> run a single command string through the shell\n"), stderr); - fputs(_( " -F, --no-fork execute command without forking\n"), stderr); - fputs(_( " --verbose increase verbosity\n"), stderr); - fprintf(stderr, USAGE_SEPARATOR); - fprintf(stderr, USAGE_HELP); - fprintf(stderr, USAGE_VERSION); - fprintf(stderr, USAGE_MAN_TAIL("flock(1)")); - exit(ex); + fputs(USAGE_SEPARATOR, stdout); + fputs(_("Manage file locks from shell scripts.\n"), stdout); + + fputs(USAGE_OPTIONS, stdout); + fputs(_( " -s, --shared get a shared lock\n"), stdout); + fputs(_( " -x, --exclusive get an exclusive lock (default)\n"), stdout); + fputs(_( " -u, --unlock remove a lock\n"), stdout); + fputs(_( " -n, --nonblock fail rather than wait\n"), stdout); + fputs(_( " -w, --timeout <secs> wait for a limited amount of time\n"), stdout); + fputs(_( " -E, --conflict-exit-code <number> exit code after conflict or timeout\n"), stdout); + fputs(_( " -o, --close close file descriptor before running command\n"), stdout); + fputs(_( " -c, --command <command> run a single command string through the shell\n"), stdout); + fputs(_( " -F, --no-fork execute command without forking\n"), stdout); + fputs(_( " --verbose increase verbosity\n"), stdout); + fputs(USAGE_SEPARATOR, stdout); + fputs(USAGE_HELP, stdout); + fputs(USAGE_VERSION, stdout); + printf(USAGE_MAN_TAIL("flock(1)")); + exit(EXIT_SUCCESS); } static sig_atomic_t timeout_expired = 0; @@ -172,8 +172,10 @@ int main(int argc, char *argv[]) strutils_set_exitcode(EX_USAGE); - if (argc < 2) - usage(EX_USAGE); + if (argc < 2) { + warnx(_("not enough arguments")); + errtryhelp(EX_USAGE); + } memset(&timeout, 0, sizeof timeout); @@ -217,7 +219,7 @@ int main(int argc, char *argv[]) printf(UTIL_LINUX_VERSION); exit(EX_OK); case 'h': - usage(0); + usage(); default: errtryhelp(EX_USAGE); } |