]> git.ipfire.org Git - thirdparty/util-linux.git/blobdiff - schedutils/ionice.c
misc: never use usage(stderr)
[thirdparty/util-linux.git] / schedutils / ionice.c
index 1cbde8faafd7d3645fcb2541e91dd8a7d8766213..9d0648bcaaa4c0963bdb2bee1921e79ec9491fed 100644 (file)
@@ -98,8 +98,9 @@ static void ioprio_setid(int which, int ioclass, int data, int who)
                err(EXIT_FAILURE, _("ioprio_set failed"));
 }
 
-static void __attribute__ ((__noreturn__)) usage(FILE * out)
+static void __attribute__((__noreturn__)) usage(void)
 {
+       FILE *out = stdout;
        fputs(USAGE_HEADER, out);
        fprintf(out,  _(" %1$s [options] -p <pid>...\n"
                        " %1$s [options] -P <pgid>...\n"
@@ -125,7 +126,7 @@ static void __attribute__ ((__noreturn__)) usage(FILE * out)
 
        fprintf(out, USAGE_MAN_TAIL("ionice(1)"));
 
-       exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
+       exit(EXIT_SUCCESS);
 }
 
 int main(int argc, char **argv)
@@ -201,7 +202,7 @@ int main(int argc, char **argv)
                        printf(UTIL_LINUX_VERSION);
                        return EXIT_SUCCESS;
                case 'h':
-                       usage(stdout);
+                       usage();
                default:
                        errtryhelp(EXIT_FAILURE);
                }
@@ -258,9 +259,10 @@ int main(int argc, char **argv)
                ioprio_setid(0, ioclass, data, IOPRIO_WHO_PROCESS);
                execvp(argv[optind], &argv[optind]);
                err(EXIT_FAILURE, _("failed to execute %s"), argv[optind]);
-       } else
-               usage(stderr);
-
+       } else {
+               warnx(_("bad usage"));
+               errtryhelp(EXIT_FAILURE);
+       }
 
        return EXIT_SUCCESS;
 }