[libvirt] Remove OPTION section in output of 'virsh help command' if no option exists.

Zhang Xiaohe zhangxh at cn.fujitsu.com
Thu May 23 01:23:14 UTC 2013


于 2013年05月23日 06:19, Eric Blake 写道:
> On 05/21/2013 09:15 PM, Zhang Xiaohe wrote:
>> Don't print 'OPTION' if there's no options. Just behaves as DESCRIPTION
>> does.
>> This mostly affects 'interface' command group.
>>
>> Signed-off-by: Zhang Xiaohe<zhangxh at cn.fujitsu.com>
>> Reported-by: Li Yang<liyang.fnst at cn.fujitsu.com>
>> ---
>>   tools/virsh.c |    4 +++-
>>   1 files changed, 3 insertions(+), 1 deletions(-)
>
> For some reason, the patch didn't apply for me with 'git am', so I had
> to do it by hand; in the process, I simplified slightly.
>
>>
>> diff --git a/tools/virsh.c b/tools/virsh.c
>> index ecb7bd4..7c60800 100644
>> --- a/tools/virsh.c
>> +++ b/tools/virsh.c
>> @@ -1270,7 +1270,9 @@ vshCmddefHelp(vshControl *ctl, const char *cmdname)
>>
>>           if (def->opts) {
>>               const vshCmdOptDef *opt;
>> -            fputs(_("\n  OPTIONS\n"), stdout);
>> +            /* Print the option only if there are options */
>> +            if (def->opts->name)
>> +                fputs(_("\n  OPTIONS\n"), stdout);
>
> Hmm, I wonder why we even bother to create 1-element arrays with a NULL
> terminator instead of passing NULL when registering option-less
> functions, on commands like 'iface-commit'.  But your idea is fine.  ACK
> and here's what I pushed, after tweaking the subject line to be shorter:
>
> diff --git a/tools/virsh.c b/tools/virsh.c
> index ecb7bd4..6f0c1ef 100644
> --- a/tools/virsh.c
> +++ b/tools/virsh.c
> @@ -1268,7 +1268,7 @@ vshCmddefHelp(vshControl *ctl, const char *cmdname)
>               fprintf(stdout, "    %s\n", _(desc));
>           }
>
> -        if (def->opts) {
> +        if (def->opts&&  def->opts->name) {
>               const vshCmdOptDef *opt;
>               fputs(_("\n  OPTIONS\n"), stdout);
>               for (opt = def->opts; opt->name; opt++) {
Thanks, this looks more pretty~





More information about the libvir-list mailing list