chrt: -m can be used without any arguments. Closes bug 2989
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 19 Dec 2010 03:07:50 +0000 (04:07 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 19 Dec 2010 03:07:50 +0000 (04:07 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
miscutils/chrt.c

index 4477d084cb73c9fc4840749978aae6fd8e2e39b5..1c6737a3c1b16a34a9d611730ab37b35a0fbd01a 100644 (file)
@@ -53,23 +53,25 @@ int chrt_main(int argc UNUSED_PARAM, char **argv)
        const char *current_new;
        int policy = SCHED_RR;
 
-       /* at least 1 arg; only one policy accepted */
-       opt_complementary = "-1:r--fo:f--ro:o--rf";
+       /* only one policy accepted */
+       opt_complementary = "r--fo:f--ro:o--rf";
        opt = getopt32(argv, "+mprfo");
+       if (opt & OPT_m) { /* print min/max and exit */
+               show_min_max(SCHED_FIFO);
+               show_min_max(SCHED_RR);
+               show_min_max(SCHED_OTHER);
+               fflush_stdout_and_exit(EXIT_SUCCESS);
+       }
        if (opt & OPT_r)
                policy = SCHED_RR;
        if (opt & OPT_f)
                policy = SCHED_FIFO;
        if (opt & OPT_o)
                policy = SCHED_OTHER;
-       if (opt & OPT_m) { /* print min/max */
-               show_min_max(SCHED_FIFO);
-               show_min_max(SCHED_RR);
-               show_min_max(SCHED_OTHER);
-               fflush_stdout_and_exit(EXIT_SUCCESS);
-       }
 
        argv += optind;
+       if (!argv[0])
+               bb_show_usage();
        if (opt & OPT_p) {
                pid_str = *argv++;
                if (*argv) { /* "-p <priority> <pid> [...]" */