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(a)redhat.com>
---
tools/vsh.c | 48 ++++++++++++++++++++++++++++++++----------------
1 file changed, 32 insertions(+), 16 deletions(-)
diff --git a/tools/vsh.c b/tools/vsh.c
index 688161beda..add50fe670 100644
--- a/tools/vsh.c
+++ b/tools/vsh.c
@@ -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);
--
2.44.0