]> xenbits.xensource.com Git - libvirt.git/commitdiff
vshCmddefHelp: Refactor printing of help (list of arguments)
authorPeter Krempa <pkrempa@redhat.com>
Fri, 1 Mar 2024 13:51:46 +0000 (14:51 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 13 Mar 2024 14:02:52 +0000 (15:02 +0100)
Extract flag check to a separate variable and replace ternary operators
by normal conditions and directly output the text rather than using
extra variable to improve readability.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
tools/vsh.c

index ef7e86092bd0635d5ec27a8df342977a96ef4875..6abfd3982dcd6f2f188283767b6fd7f4ad8ba94e 100644 (file)
@@ -630,47 +630,63 @@ vshCmddefHelp(const vshCmdDef *def)
     if (def->opts) {
         const vshCmdOptDef *opt;
         for (opt = def->opts; opt->name; opt++) {
-            const char *fmt = "%s";
+            bool required_option = opt->flags & VSH_OFLAG_REQ;
+
             switch (opt->type) {
             case VSH_OT_BOOL:
-                fmt = "[--%s]";
+                fprintf(stdout, " [--%s]", opt->name);
                 break;
+
             case VSH_OT_INT:
-                /* xgettext:c-format */
-                fmt = ((opt->flags & VSH_OFLAG_REQ) ? "<%s>"
-                       : _("[--%1$s <number>]"));
+                if (required_option) {
+                    fprintf(stdout, " <%s>", opt->name);
+                } else {
+                    fprintf(stdout, _(" [--%1$s <number>]"), opt->name);
+                }
+
                 if (!(opt->flags & VSH_OFLAG_REQ_OPT))
                     shortopt = true;
                 break;
+
             case VSH_OT_STRING:
-                /* xgettext:c-format */
-                fmt = _("[--%1$s <string>]");
+                fprintf(stdout, _(" [--%1$s <string>]"), opt->name);
+
                 if (!(opt->flags & VSH_OFLAG_REQ_OPT))
                     shortopt = true;
                 break;
+
             case VSH_OT_DATA:
-                fmt = ((opt->flags & VSH_OFLAG_REQ) ? "<%s>" : "[<%s>]");
+                if (required_option) {
+                    fprintf(stdout, " <%s>", opt->name);
+                } else {
+                    fprintf(stdout, " [<%s>]", opt->name);
+                }
+
                 if (!(opt->flags & VSH_OFLAG_REQ_OPT))
                     shortopt = true;
                 break;
+
             case VSH_OT_ARGV:
-                /* xgettext:c-format */
                 if (shortopt) {
-                    fmt = (opt->flags & VSH_OFLAG_REQ)
-                        ? _("{[--%1$s] <string>}...")
-                        : _("[[--%1$s] <string>]...");
+                    if (required_option) {
+                        fprintf(stdout, _(" {[--%1$s] <string>}..."), opt->name);
+                    } else {
+                        fprintf(stdout, _(" [[--%1$s] <string>]..."), opt->name);
+                    }
                 } else {
-                    fmt = (opt->flags & VSH_OFLAG_REQ) ? _("<%1$s>...")
-                        : _("[<%1$s>]...");
+                    if (required_option) {
+                        fprintf(stdout, " <%s>...", opt->name);
+                    } else {
+                        fprintf(stdout, " [<%s>]...", opt->name);
+                    }
                 }
                 break;
+
             case VSH_OT_ALIAS:
             case VSH_OT_NONE:
                 /* aliases are intentionally undocumented */
                 continue;
             }
-            fputc(' ', stdout);
-            fprintf(stdout, fmt, opt->name);
         }
     }
     fputc('\n', stdout);