On 07/19/2013 07:44 PM, Wenchao Xia wrote:
> The old code in help_cmd() use global 'info_cmds' and treat it as a

s/use/uses/; s/treat/treats/

> special case. Actually 'info_cmds' is an sub command group of 'mon_cmds',

s/an sub/a sub/

> in order to avoid direct use of it, help_cmd() need to change its work

s/need/needs/

> mechanism to support sub command and not treat it as a special case
> any more.
> 
> To support sub command, help_cmd() will first parse the input and then call
> help_cmd_dump(), which works as an reentrant function. When it mets sub

s/an/a/; s/mets/meets a/

> command, it simply re-enter the function again. Since help dumping need to

s/re-enter/enters/; s/need/needs/

> know whole input to printf full help message include prefix, for example,
> "help info block" need to printf prefix "info", so help_cmd_dump() takes all
> args from input and extra parameter arg_index to identify the progress.
> Another function help_cmd_dump_one() is introduced to printf the prefix
> and command's help message.
> 
> Now help support sub command, so later if another sub command group is

s/support/supports/

> added in any depth, help will automatically work for it. Still "help info
> block" will show error since command parser reject additional parameter,
> which can be improved later. "log" is still treated as a special case.
> 
> Signed-off-by: Wenchao Xia <xiaw...@linux.vnet.ibm.com>
> ---
>  monitor.c |   63 +++++++++++++++++++++++++++++++++++++++++++++++++++---------
>  1 files changed, 53 insertions(+), 10 deletions(-)
> 

Reviewed-by: Eric Blake <ebl...@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to