All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH V4 0/7] monitor: support sub command group in auto completion and help
@ 2013-06-28  3:39 Wenchao Xia
  2013-06-28  3:39 ` [Qemu-devel] [PATCH V4 1/7] monitor: avoid direct use of global *cur_mon in completion functions Wenchao Xia
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Wenchao Xia @ 2013-06-28  3:39 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, Wenchao Xia, armbru, lcapitulino

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(-)

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-06-29  3:43 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-28  3:39 [Qemu-devel] [PATCH V4 0/7] monitor: support sub command group in auto completion and help Wenchao Xia
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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.