summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2021-08-03 12:06:00 +0300
committerSergey Poznyakoff <gray@gnu.org>2021-08-03 12:06:00 +0300
commite8f709685a30b6c037345d78942e469b6258ace8 (patch)
tree208315e696b1b368e4e9f577e5006b32b0e2c7f6
parentd0d96d037adae0a1aa21e40edaa9c4ff7c29148d (diff)
downloadgdbm-e8f709685a30b6c037345d78942e469b6258ace8.tar.gz
gdbmtool: fix help output representation
-rw-r--r--src/gdbmtool.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/gdbmtool.c b/src/gdbmtool.c
index e12b349..2fe5dda 100644
--- a/src/gdbmtool.c
+++ b/src/gdbmtool.c
@@ -1756,13 +1756,25 @@ help_handler (struct handler_param *param)
{
int i;
int n;
-
+ int optoff;
+
n = fprintf (fp, " %s", cmd->name);
-
+ optoff = n;
+
for (i = 0; i < NARGS && cmd->args[i].name; i++)
- n += fprintf (fp, " %s", gettext (cmd->args[i].name));
+ {
+ if (n >= CMDCOLS)
+ {
+ fputc ('\n', fp);
+ n = fprintf (fp, "%*.*s", optoff, optoff, "");
+ }
+ n += fprintf (fp, " %s", gettext (cmd->args[i].name));
+ }
+
if (n < CMDCOLS)
fprintf (fp, "%*.s", CMDCOLS-n, "");
+ else
+ fprintf (fp, "\n%*.*s", CMDCOLS, CMDCOLS, "");
fprintf (fp, " %s", gettext (cmd->doc));
fputc ('\n', fp);
}