Nicer help output.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1067 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
18
lib/sl/sl.c
18
lib/sl/sl.c
@@ -69,11 +69,23 @@ sl_match (SL_cmd *cmds, char *cmd, int exactp)
|
|||||||
void
|
void
|
||||||
sl_help (SL_cmd *cmds, int argc, char **argv)
|
sl_help (SL_cmd *cmds, int argc, char **argv)
|
||||||
{
|
{
|
||||||
SL_cmd *c;
|
SL_cmd *c, *prev_c;
|
||||||
|
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
for (c = cmds; c->name; ++c)
|
prev_c = NULL;
|
||||||
printf ("%s\t%s\n", c->name, c->usage ? c->usage : "");
|
for (c = cmds; c->name; ++c) {
|
||||||
|
if (c->func) {
|
||||||
|
if(prev_c)
|
||||||
|
printf ("\n\t%s%s", prev_c->usage ? prev_c->usage : "",
|
||||||
|
prev_c->usage ? "\n" : "");
|
||||||
|
prev_c = c;
|
||||||
|
printf ("%s", c->name);
|
||||||
|
} else
|
||||||
|
printf (", %s", c->name);
|
||||||
|
}
|
||||||
|
if(prev_c)
|
||||||
|
printf ("\n\t%s%s", prev_c->usage ? prev_c->usage : "",
|
||||||
|
prev_c->usage ? "\n" : "");
|
||||||
} else {
|
} else {
|
||||||
c = sl_match (cmds, argv[1], 0);
|
c = sl_match (cmds, argv[1], 0);
|
||||||
if (c == NULL)
|
if (c == NULL)
|
||||||
|
Reference in New Issue
Block a user