From: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
To: Luiz Capitulino <lcapitulino@redhat.com>
Cc: pbonzini@redhat.com, qemu-devel@nongnu.org, armbru@redhat.com
Subject: Re: [Qemu-devel] [PATCH V5 7/7] monitor: improve "help" to allow show details of single command in sub group
Date: Wed, 10 Jul 2013 14:47:38 +0800 [thread overview]
Message-ID: <51DD038A.9020102@linux.vnet.ibm.com> (raw)
In-Reply-To: <20130708121731.2ea7bee8@redhat.com>
于 2013-7-9 0:17, Luiz Capitulino 写道:
> On Sat, 29 Jun 2013 11:53:01 +0800
> Wenchao Xia <xiawenc@linux.vnet.ibm.com> wrote:
>
>> A new parameter type 'S' is introduced to allow user input any string.
>> "help info block" do not tip extra parameter error now.
>>
>> Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
>> ---
>> hmp-commands.hx | 2 +-
>> monitor.c | 30 +++++++++++++++++++++++++++++-
>> 2 files changed, 30 insertions(+), 2 deletions(-)
>>
>> diff --git a/hmp-commands.hx b/hmp-commands.hx
>> index 915b0d1..8cf5f29 100644
>> --- a/hmp-commands.hx
>> +++ b/hmp-commands.hx
>> @@ -11,7 +11,7 @@ ETEXI
>>
>> {
>> .name = "help|?",
>> - .args_type = "name:s?",
>> + .args_type = "name:S?",
>> .params = "[cmd]",
>> .help = "show the help",
>> .mhandler.cmd = do_help_cmd,
>> diff --git a/monitor.c b/monitor.c
>> index 3ef18ee..ebdc2a3 100644
>> --- a/monitor.c
>> +++ b/monitor.c
>> @@ -83,6 +83,7 @@
>> * 'F' filename
>> * 'B' block device name
>> * 's' string (accept optional quote)
>> + * 'S' supported types, can be any string (accept optional quote)
>
> I think you want to say it just appends the rest of the string.
>
>> * 'O' option string of the form NAME=VALUE,...
>> * parsed according to QemuOptsList given by its name
>> * Example: 'device:O' uses qemu_device_opts.
>> @@ -4011,6 +4012,31 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon,
>> }
>> }
>> break;
>> + case 'S':
>> + {
>> + /* package all remaining string */
>> + int len;
>> +
>> + while (qemu_isspace(*p)) {
>> + p++;
>> + }
>> + if (*typestr == '?') {
>> + typestr++;
>> + if (*p == '\0') {
>> + /* no remaining string: NULL argument */
>> + break;
>> + }
>> + }
>> + len = strlen(p);
>> + if (len <= 0) {
>> + monitor_printf(mon, "%s: string expected\n",
>> + cmdname);
>> + break;
>> + }
>> + qdict_put(qdict, key, qstring_from_str(p));
>> + p += len;
>> + }
>> + break;
>> default:
>> bad_type:
>> monitor_printf(mon, "%s: unknown type '%c'\n", cmdname, c);
>> @@ -4282,7 +4308,9 @@ static void monitor_find_completion_by_table(Monitor *mon,
>> for (i = 0; i < Q_KEY_CODE_MAX; i++) {
>> cmd_completion(mon, str, QKeyCode_lookup[i]);
>> }
>> - } else if (!strcmp(cmd->name, "help|?")) {
>> + }
>> + case 'S':
>> + if (!strcmp(cmd->name, "help|?")) {
>> monitor_find_completion_by_table(mon, cmd_table,
>> args_cmdline[1]);
>
> This gives a very specific meaning to the S type, doesn't it? Why can't
> you treat it just like 's'? Meaning that you could have:
>
> case 's':
> case 'S':
>
OK, will fix it.
>> }
>
>
--
Best Regards
Wenchao Xia
next prev parent reply other threads:[~2013-07-10 6:47 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-29 3:52 [Qemu-devel] [PATCH V5 0/7] monitor: support sub command group in auto completion and help Wenchao Xia
2013-06-29 3:52 ` [Qemu-devel] [PATCH V5 1/7] monitor: avoid direct use of global *cur_mon in completion functions Wenchao Xia
2013-07-08 15:17 ` Luiz Capitulino
2013-07-09 2:06 ` Wenchao Xia
2013-07-09 14:03 ` Wenchao Xia
2013-07-09 14:14 ` Luiz Capitulino
2013-07-10 6:06 ` Wenchao Xia
2013-06-29 3:52 ` [Qemu-devel] [PATCH V5 2/7] monitor: avoid direct use of global variable *mon_cmds Wenchao Xia
2013-07-08 15:29 ` Luiz Capitulino
2013-06-29 3:52 ` [Qemu-devel] [PATCH V5 3/7] monitor: code move for parse_cmdline() Wenchao Xia
2013-07-08 15:26 ` Luiz Capitulino
2013-06-29 3:52 ` [Qemu-devel] [PATCH V5 4/7] monitor: avoid direct use of global *info_cmds in help functions Wenchao Xia
2013-07-08 15:45 ` Luiz Capitulino
2013-07-10 6:45 ` Wenchao Xia
2013-06-29 3:52 ` [Qemu-devel] [PATCH V5 5/7] monitor: support sub commands in auto completion Wenchao Xia
2013-06-29 3:53 ` [Qemu-devel] [PATCH V5 6/7] monitor: improve "help" in auto completion for sub command Wenchao Xia
2013-07-08 16:09 ` Luiz Capitulino
2013-07-10 6:46 ` Wenchao Xia
2013-06-29 3:53 ` [Qemu-devel] [PATCH V5 7/7] monitor: improve "help" to allow show details of single command in sub group Wenchao Xia
2013-07-08 16:17 ` Luiz Capitulino
2013-07-10 6:47 ` Wenchao Xia [this message]
2013-07-07 22:39 ` [Qemu-devel] [PATCH V5 0/7] monitor: support sub command group in auto completion and help Wenchao Xia
2013-07-08 13:33 ` Luiz Capitulino
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=51DD038A.9020102@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 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.