On 30/06/25 14:10, Benno Schulenberg wrote: > 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, and do not annoyingly > suggest that the user try `chrt --help`. Nit: I think we could still have "Try 'chrt --help' for more information." along with your "too few arguments" so that user knows exactly how many arguments are needed. As is also is fine. Reviewed-by: Madadi Vineeth Reddy <vineethr@xxxxxxxxxxxxx> Tested-by: Madadi Vineeth Reddy <vineethr@xxxxxxxxxxxxx> Thanks, Madadi Vineeth Reddy > > CC: Madadi Vineeth Reddy <vineethr@xxxxxxxxxxxxx> > Signed-off-by: Benno Schulenberg <bensberg@xxxxxxxxxx> > --- > schedutils/chrt.c | 14 +++++--------- > 1 file changed, 5 insertions(+), 9 deletions(-) > > diff --git a/schedutils/chrt.c b/schedutils/chrt.c > index 8ed4d69f3..f5ecae6e1 100644 > --- a/schedutils/chrt.c > +++ b/schedutils/chrt.c > @@ -507,11 +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")); > - errtryhelp(EXIT_FAILURE); > - } > + if (argc - optind < (ctl->pid > -1 ? 1 : 2)) > + errx(EXIT_FAILURE, _("too few arguments")); > > /* pid exists but priority not given */ > if (ctl->pid > -1 && argc - optind == 1) { > @@ -530,11 +527,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))