aboutsummaryrefslogtreecommitdiff
path: root/lib/gssapi/gsstool.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gssapi/gsstool.c')
-rw-r--r--lib/gssapi/gsstool.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/lib/gssapi/gsstool.c b/lib/gssapi/gsstool.c
index 5ce3cb04a7d3..8df39535eed4 100644
--- a/lib/gssapi/gsstool.c
+++ b/lib/gssapi/gsstool.c
@@ -72,7 +72,7 @@ usage (int ret)
#define COL_SASL "SASL"
int
-supported_mechanisms(void *argptr, int argc, char **argv)
+mechanisms(void *argptr, int argc, char **argv)
{
OM_uint32 maj_stat, min_stat;
gss_OID_set mechs;
@@ -184,7 +184,7 @@ print_mech_attr(const char *mechname, gss_const_OID mech, gss_OID_set set)
int
-attrs_for_mech(struct attrs_for_mech_options *opt, int argc, char **argv)
+attributes(struct attributes_options *opt, int argc, char **argv)
{
gss_OID_set mech_attr = NULL, known_mech_attrs = NULL;
gss_OID mech = GSS_C_NO_OID;
@@ -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)
+ sl_did_you_mean(commands, 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;
}