From f2319c245850090ec12d9e68d4afbb023930571c Mon Sep 17 00:00:00 2001 From: Love Hornquist Astrand Date: Tue, 22 Nov 2011 08:54:30 -0800 Subject: [PATCH] better help on unknown command --- lib/gssapi/gsstool.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/gssapi/gsstool.c b/lib/gssapi/gsstool.c index 5ce3cb04a..925db8a21 100644 --- a/lib/gssapi/gsstool.c +++ b/lib/gssapi/gsstool.c @@ -229,9 +229,10 @@ help(void *opt, int argc, char **argv) int main(int argc, char **argv) { - int optidx = 0; + int exit_status = 0, ret, optidx = 0; setprogname(argv[0]); + if(getarg(args, sizeof(args) / sizeof(args[0]), argc, argv, &optidx)) usage(1); @@ -246,10 +247,18 @@ main(int argc, char **argv) argc -= optidx; argv += optidx; - if (argc == 0) { - help(NULL, argc, argv); - return 1; + if (argc != 0) { + ret = sl_command(commands, argc, argv); + if(ret == -1) + warnx("unrecognized command: %s", argv[0]); + else if (ret == -2) + ret = 0; + if(ret != 0) + exit_status = 1; + } else { + sl_slc_help(commands, argc, argv); + exit_status = 1; } - return sl_command (commands, argc, argv); + return exit_status; }