inline sl_loop so we can more easily get a useful exit status
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@14027 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -119,10 +119,13 @@ help(void *opt, int argc, char **argv)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int exit_seen = 0;
|
||||||
|
|
||||||
int
|
int
|
||||||
exit_kadmin (void *opt, int argc, char **argv)
|
exit_kadmin (void *opt, int argc, char **argv)
|
||||||
{
|
{
|
||||||
return 1;
|
exit_seen = 1;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -156,6 +159,7 @@ main(int argc, char **argv)
|
|||||||
char **files;
|
char **files;
|
||||||
kadm5_config_params conf;
|
kadm5_config_params conf;
|
||||||
int optind = 0;
|
int optind = 0;
|
||||||
|
int exit_status = 0;
|
||||||
|
|
||||||
setprogname(argv[0]);
|
setprogname(argv[0]);
|
||||||
|
|
||||||
@@ -257,10 +261,17 @@ main(int argc, char **argv)
|
|||||||
ret = sl_command (commands, argc, argv);
|
ret = sl_command (commands, argc, argv);
|
||||||
if(ret == -1)
|
if(ret == -1)
|
||||||
krb5_warnx (context, "unrecognized command: %s", argv[0]);
|
krb5_warnx (context, "unrecognized command: %s", argv[0]);
|
||||||
} else
|
if(ret != 0)
|
||||||
ret = sl_loop (commands, "kadmin> ") != 0;
|
exit_status = 1;
|
||||||
|
} else {
|
||||||
|
while(!exit_seen) {
|
||||||
|
ret = sl_command_loop(commands, "kadmin> ", NULL);
|
||||||
|
if(ret != 0)
|
||||||
|
exit_status = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
kadm5_destroy(kadm_handle);
|
kadm5_destroy(kadm_handle);
|
||||||
krb5_free_context(context);
|
krb5_free_context(context);
|
||||||
return ret;
|
return exit_status;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user