From ca49c8c0b1fc1e81212e8e14aa3671744001c36e Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Fri, 21 Dec 2012 12:38:07 -0800 Subject: [PATCH] Fix for bug in help command when asking for help for command aliases. Reported by Darrell Pittman --- scp.c | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/scp.c b/scp.c index 680f4a12..f0e9e799 100644 --- a/scp.c +++ b/scp.c @@ -1003,9 +1003,29 @@ if (*cptr) { if (*cptr) return SCPE_2MARG; if ((cmdp = find_cmd (gbuf))) { - fputs (cmdp->help, stdout); - if (sim_log) - fputs (cmdp->help, sim_log); + if (cmdp->help) { + fputs (cmdp->help, stdout); + if (sim_log) + fputs (cmdp->help, sim_log); + } + else { /* no help so it is likely a command alias */ + CTAB *cmdpa; + + for (cmdpa=cmd_table; cmdpa->name != NULL; cmdpa++) + if ((cmdpa->action == cmdp->action) && (cmdpa->help)) { + fprintf (stdout, "%s is an alias for the %s command:\n%s", + cmdp->name, cmdpa->name, cmdpa->help); + if (sim_log) + fprintf (sim_log, "%s is an alias for the %s command.\n%s", + cmdp->name, cmdpa->name, cmdpa->help); + break; + } + if (cmdpa->name == NULL) { /* not found? */ + fprintf (stdout, "No help available for the %s command\n", cmdp->name); + if (sim_log) + fprintf (sim_log, "No help available for the %s command\n", cmdp->name); + } + } } else return SCPE_ARG; }