]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
chrt: simplify the other check for too few arguments
authorBenno Schulenberg <bensberg@telfort.nl>
Thu, 3 Jul 2025 14:47:51 +0000 (16:47 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 7 Jul 2025 11:33:11 +0000 (13:33 +0200)
Without option --pid, always at least two arguments are needed:
the <priority> value and a <command>.  (The 'need_prio' variable
is relevant only for the --pid case.)

Also, make the error message more informative.

CC: Madadi Vineeth Reddy <vineethr@linux.ibm.com>
Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
schedutils/chrt.c

index a72c0de269b301b26ffbc5b2fda35f6aff2ad253..731f995bbdfc7f7b52e36f4472df4a6fba00dd81 100644 (file)
@@ -507,9 +507,8 @@ int main(int argc, char **argv)
                }
        }
 
-       if (((ctl->pid > -1) && argc - optind < (need_prio ? 1 : 0)) ||
-           ((ctl->pid == -1) && argc - optind < (need_prio ? 2 : 1))) {
-               warnx(_("bad usage"));
+       if (argc - optind < (ctl->pid > -1 ? 1 : 2)) {
+               warnx(_("too few arguments"));
                errtryhelp(EXIT_FAILURE);
        }
 
@@ -530,11 +529,10 @@ int main(int argc, char **argv)
        if (ctl->verbose)
                show_sched_info(ctl);
 
-       errno = 0;
-
-       if (need_prio || argc - optind > 1)
+       if (argc - optind > 1) {
+               errno = 0;
                ctl->priority = strtos32_or_err(argv[optind], _("invalid priority argument"));
-       else
+       else
                ctl->priority = 0;
 
        if (ctl->runtime && !supports_runtime_param(ctl->policy))