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

Eric Blake eblake at redhat.com
Wed May 22 22:19:20 UTC 2013


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++) {
-- 
1.8.1.4

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130522/b3a4a8bd/attachment-0001.sig>


More information about the libvir-list mailing list