diff options
author | Ruediger Meier | 2017-06-19 09:24:10 +0200 |
---|---|---|
committer | Ruediger Meier | 2017-06-26 14:38:24 +0200 |
commit | 9325dbfd2018b2a3b510617f4aa13777fbbe23c3 (patch) | |
tree | 07b7b9f9e99a77d9575284ae5b1b5ee9eb34101a /disk-utils | |
parent | flock, getopt: write --help to stdout and return 0 (diff) | |
download | kernel-qcow2-util-linux-9325dbfd2018b2a3b510617f4aa13777fbbe23c3.tar.gz kernel-qcow2-util-linux-9325dbfd2018b2a3b510617f4aa13777fbbe23c3.tar.xz kernel-qcow2-util-linux-9325dbfd2018b2a3b510617f4aa13777fbbe23c3.zip |
misc: cleanup and fix --unknownopt issues
Fixed checkusage.sh warnings:
rtcwake: --unknownopt, non-empty stdout
rtcwake: --unknownopt, stderr too long: 21
blockdev: --unknownopt, stderr too long: 28
lsipc: --unknownopt, stderr too long: 77
pg: --unknownopt, stderr too long: 23
renice: --unknownopt, stderr too long: 18
sulogin: --unknownopt, stderr too long: 17
write: --unknownopt, stderr too long: 12
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Diffstat (limited to 'disk-utils')
-rw-r--r-- | disk-utils/blockdev.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/disk-utils/blockdev.c b/disk-utils/blockdev.c index 2f6681ce2..4760e021b 100644 --- a/disk-utils/blockdev.c +++ b/disk-utils/blockdev.c @@ -178,9 +178,11 @@ static const struct bdc bdcms[] = } }; -static void __attribute__ ((__noreturn__)) usage(FILE * out) +static void __attribute__((__noreturn__)) usage(void) { + FILE * out = stdout; size_t i; + fprintf(out, _("\nUsage:\n" " %1$s -V\n" " %1$s --report [devices]\n" @@ -197,8 +199,9 @@ static void __attribute__ ((__noreturn__)) usage(FILE * out) fprintf(out, " %-25s %s\n", bdcms[i].name, _(bdcms[i].help)); } - fputc('\n', out); - exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS); + + fprintf(out, USAGE_MAN_TAIL("blockdev(1)")); + exit(EXIT_SUCCESS); } static int find_cmd(char *s) @@ -225,8 +228,10 @@ int main(int argc, char **argv) textdomain(PACKAGE); atexit(close_stdout); - if (argc < 2) - usage(stderr); + if (argc < 2) { + warnx(_("not enough arguments")); + errtryhelp(EXIT_FAILURE); + } /* -V not together with commands */ if (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version")) { @@ -234,7 +239,7 @@ int main(int argc, char **argv) return EXIT_SUCCESS; } if (!strcmp(argv[1], "-h") || !strcmp(argv[1], "--help")) - usage(stdout); + usage(); /* --report not together with other commands */ if (!strcmp(argv[1], "--report")) { @@ -267,8 +272,10 @@ int main(int argc, char **argv) break; } - if (d >= argc) - usage(stderr); + if (d >= argc) { + warnx(_("no device specified")); + errtryhelp(EXIT_FAILURE); + } for (k = d; k < argc; k++) { fd = open(argv[k], O_RDONLY, 0); @@ -315,7 +322,7 @@ static void do_commands(int fd, char **argv, int d) j = find_cmd(argv[i]); if (j == -1) { warnx(_("Unknown command: %s"), argv[i]); - usage(stderr); + errtryhelp(EXIT_FAILURE); } switch (bdcms[j].argtype) { @@ -332,7 +339,7 @@ static void do_commands(int fd, char **argv, int d) if (i == d - 1) { warnx(_("%s requires an argument"), bdcms[j].name); - usage(stderr); + errtryhelp(EXIT_FAILURE); } iarg = atoi(argv[++i]); } else |