From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37989) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XoLlW-00024K-5S for qemu-devel@nongnu.org; Tue, 11 Nov 2014 19:26:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XoLlK-0008SA-Kc for qemu-devel@nongnu.org; Tue, 11 Nov 2014 19:26:30 -0500 Received: from mail-oi0-f44.google.com ([209.85.218.44]:39612) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XoLlK-0008S6-Eg for qemu-devel@nongnu.org; Tue, 11 Nov 2014 19:26:18 -0500 Received: by mail-oi0-f44.google.com with SMTP id h136so7897744oig.31 for ; Tue, 11 Nov 2014 16:26:17 -0800 (PST) From: Greg Bellows Date: Tue, 11 Nov 2014 18:25:50 -0600 Message-Id: <1415751963-4081-3-git-send-email-greg.bellows@linaro.org> In-Reply-To: <1415751963-4081-1-git-send-email-greg.bellows@linaro.org> References: <1415751963-4081-1-git-send-email-greg.bellows@linaro.org> Subject: [Qemu-devel] [PATCH v1 02/15] android-console: Unify available commands output List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, peter.maydell@linaro.org, christoffer.dall@linaro.org, alex.bennee@linaro.org Cc: Greg Bellows Moved the "available commands" print output to the top level help command handler to avoid repitition across all commands with sub-commands. Adjusted the redir command handler to no longer print out available commands. Adjusted "OK" message to be shared by all cases to avoid duplicates. Signed-off-by: Greg Bellows --- android-console.c | 20 +++++--------------- monitor.c | 16 ++++++++++++---- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/android-console.c b/android-console.c index c2e41da..be573b5 100644 --- a/android-console.c +++ b/android-console.c @@ -242,8 +242,7 @@ void android_console_redir_remove(Monitor *mon, const QDict *qdict) static const char *redir_list_help = "list current port redirections. " - "use 'redir add' and 'redir del' to add and remove them\n" - "OK\n"; + "use 'redir add' and 'redir del' to add and remove them\n"; static const char *redir_add_help = "add a new port redirection, arguments must be:\n" @@ -258,15 +257,13 @@ static const char *redir_add_help = "\n" "as an example, 'redir tcp:5000:6000' will allow any packets sent to\n" "the host's TCP port 5000 to be routed to TCP port 6000 of the " - "emulated device\n" - "OK\n"; + "emulated device\n"; static const char *redir_del_help = "remove a port redirecion that was created with 'redir add', " - "arguments must be:\n\n" + "arguments must be:\n" " redir del :\n\n" - "see the 'help redir add' for the meaning of and \n" - "OK\n"; + "see the 'help redir add' for the meaning of and \n"; void android_console_redir(Monitor *mon, const QDict *qdict) { @@ -291,12 +288,5 @@ void android_console_redir(Monitor *mon, const QDict *qdict) "PORT redirection from the host to the device\n" "as an example, 'redir tcp:5000:6000' will route " "any packet sent to the host's TCP port 5000\n" - "to TCP port 6000 of the emulated device\n" - "\n" - "available sub-commands:\n" - " list list current redirections\n" - " add add new redirection\n" - " del remove existing redirection\n" - "\n%s\n", - helptext ? "OK" : "KO: missing sub-command"); + "to TCP port 6000 of the emulated device\n"); } diff --git a/monitor.c b/monitor.c index f071878..4222b7a 100644 --- a/monitor.c +++ b/monitor.c @@ -943,7 +943,7 @@ static void do_help_cmd(Monitor *mon, const QDict *qdict) static void android_console_help(Monitor *mon, const QDict *qdict) { const char *name = qdict_get_try_str(qdict, "helptext"); - const mon_cmd_t *cmd; + const mon_cmd_t *cmd, *subcmd; const mon_cmd_t *cmds = mon->cmd_table; char *args[MAX_ARGS]; int nb_args = 0; @@ -957,7 +957,7 @@ static void android_console_help(Monitor *mon, const QDict *qdict) monitor_printf(mon, " %-15s %s\n", cmd->name, cmd->help); } monitor_printf(mon, - "\ntry 'help ' for command-specific help\n"); + "\ntry 'help ' for command-specific help\nOK\n"); return; } @@ -1000,15 +1000,23 @@ static void android_console_help(Monitor *mon, const QDict *qdict) parent_cmd->mhandler.cmd(mon, qdict); } else if (cmd->sub_table) { cmd->mhandler.cmd(mon, qdict); + monitor_printf(mon, "\navailable sub-commands:\n"); + for (subcmd = cmd->sub_table; subcmd->name; subcmd++) { + monitor_printf(mon, " %-15s %s\n", + subcmd->name, subcmd->help); + } + monitor_printf(mon, "\n"); } else { - monitor_printf(mon, "%s\nOK\n", cmd->help); + monitor_printf(mon, "%s\n", cmd->help); } - return; + break; } parent_cmd = cmd; cmds = cmd->sub_table; } + + monitor_printf(mon, "OK\n"); } static void do_trace_event_set_state(Monitor *mon, const QDict *qdict) -- 1.8.3.2