diff options
Diffstat (limited to 'sys-utils/losetup.c')
-rw-r--r-- | sys-utils/losetup.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys-utils/losetup.c b/sys-utils/losetup.c index 9ff547edb..593d3b536 100644 --- a/sys-utils/losetup.c +++ b/sys-utils/losetup.c @@ -375,8 +375,9 @@ done: return rc; } -static void usage(FILE *out) +static void __attribute__((__noreturn__)) usage(void) { + FILE *out = stdout; size_t i; fputs(USAGE_HEADER, out); @@ -427,7 +428,7 @@ static void usage(FILE *out) fprintf(out, USAGE_MAN_TAIL("losetup(8)")); - exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS); + exit(EXIT_SUCCESS); } static void warn_size(const char *filename, uint64_t size) @@ -653,7 +654,7 @@ int main(int argc, char **argv) act = A_FIND_FREE; break; case 'h': - usage(stdout); + usage(); break; case 'J': json = 1; @@ -860,7 +861,8 @@ int main(int argc, char **argv) loopcxt_get_device(&lc)); break; default: - usage(stderr); + warnx(_("bad usage")); + errtryhelp(EXIT_FAILURE); break; } |