[PATCH 3/4] chrt: simplify the other check for too few arguments

Benno Schulenberg <[email protected]>
Newsgroups org.kernel.vger.util-linux
Message-ID <[email protected]>
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`.

CC: Madadi Vineeth Reddy <[email protected]>
Signed-off-by: Benno Schulenberg <[email protected]>
---
 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))
-- 

Dobjátok a Dunába a kis diktátort.

2.48.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.