From b9d829bc9abe0f5ce0234475505b33fe5b942cb4 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Sun, 25 Mar 2018 01:59:38 +0100 Subject: Cleanup command error handling in "service" - Add helper for checking number of arguments - Add helper for printing "please read help" message Signed-off-by: David Oberhollenzer --- servicecmd/servicecmd.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'servicecmd/servicecmd.c') diff --git a/servicecmd/servicecmd.c b/servicecmd/servicecmd.c index ff37740..84e6a32 100644 --- a/servicecmd/servicecmd.c +++ b/servicecmd/servicecmd.c @@ -55,6 +55,23 @@ void usage(int status) exit(status); } +void tell_read_help(const char *cmd) +{ + fprintf(stderr, "Try `%s help %s' for more information.\n", + __progname, cmd); +} + +int check_arguments(const char *cmd, int argc, int minc, int maxc) +{ + if (argc >= minc && argc <= maxc) + return 0; + + fprintf(stderr, "Too %s arguments for `%s'\n", + argc > maxc ? "many" : "few", cmd); + tell_read_help(cmd); + return -1; +} + int main(int argc, char **argv) { command_t *cmd; -- cgit v1.2.3