From: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, Wenchao Xia <xiawenc@linux.vnet.ibm.com>,
armbru@redhat.com, lcapitulino@redhat.com
Subject: [Qemu-devel] [PATCH V4 0/7] monitor: support sub command group in auto completion and help
Date: Fri, 28 Jun 2013 11:39:24 +0800 [thread overview]
Message-ID: <1372390771-11157-1-git-send-email-xiawenc@linux.vnet.ibm.com> (raw)
Global variable *mon_cmds and *info_cmds are not directly used any more,
*cur_mon is not used in completion related functions. It is possible to create
a monitor with different command table now, but that requirement do not exist
yet, so not changed it to save trouble. Log command is still a special case
now, may be it can be converted as sub group later.
Patch 1-3 make sure the functions can be re-entered safely.
V2:
General:
To discard *info_comds more graceful, help related function is modified to support
sub command too.
Patch 6/7 are added to improve help related functions.
Patch 5: not directly return to make sure args are freed.
Address Luiz's comments:
Split patch into small series.
struct mon_cmd_t was not moved into header file, instead mon_cmnd_t *cmd_table is
added as a member in struct Monitor.
5/7: drop original code comments for "info" in monitor_find_completion().
v3:
5/7: add parameter **args_cmdline in parse_cmdline() to tell next valid
parameter's position. This fix the issue in case command length in input is not
equal to its name's length such as "help|?", and the case input start with
space such as " s".
7/7: better commit message.
v4:
Address Eric's comments:
1/7, 2/7, 4/7: better commit title and message.
1/7 remove useless (char *) in old code, add space around "for ()" in old code.
3/7: separate code moving patch before usage.
4/7: add space around "for ()" in old code, add min(nb_args, MAX_ARGS) in free
to make code stronger.
Wenchao Xia (7):
1 monitor: avoid direct use of global *cur_mon in completion functions
2 monitor: avoid direct use of global variable *mon_cmds
3 monitor: code move for parse_cmdline()
4 monitor: avoid direct use of global *info_cmds in help functions
5 monitor: support sub commands in auto completion
6 monitor: improve "help" in auto completion for sub command
7 monitor: improve "help" to allow show details of single command in sub group
hmp-commands.hx | 2 +-
include/monitor/readline.h | 3 +-
monitor.c | 387 ++++++++++++++++++++++++++++----------------
readline.c | 5 +-
4 files changed, 254 insertions(+), 143 deletions(-)
next reply other threads:[~2013-06-28 3:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-28 3:39 Wenchao Xia [this message]
2013-06-28 3:39 ` [Qemu-devel] [PATCH V4 1/7] monitor: avoid direct use of global *cur_mon in completion functions Wenchao Xia
2013-06-28 3:39 ` [Qemu-devel] [PATCH V4 2/7] monitor: avoid direct use of global variable *mon_cmds Wenchao Xia
2013-06-28 3:39 ` [Qemu-devel] [PATCH V4 3/7] monitor: code move for parse_cmdline() Wenchao Xia
2013-06-28 3:39 ` [Qemu-devel] [PATCH V4 4/7] monitor: avoid direct use of global *info_cmds in help functions Wenchao Xia
2013-06-28 3:39 ` [Qemu-devel] [PATCH V4 5/7] monitor: support sub commands in auto completion Wenchao Xia
2013-06-28 3:39 ` [Qemu-devel] [PATCH V4 6/7] monitor: improve "help" in auto completion for sub command Wenchao Xia
2013-06-28 3:39 ` [Qemu-devel] [PATCH V4 7/7] monitor: improve "help" to allow show details of single command in sub group Wenchao Xia
2013-06-29 3:42 ` [Qemu-devel] [PATCH V4 0/7] monitor: support sub command group in auto completion and help Wenchao Xia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1372390771-11157-1-git-send-email-xiawenc@linux.vnet.ibm.com \
--to=xiawenc@linux.vnet.ibm.com \
--cc=armbru@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).