Hi Duy, On Thu, 31 Jan 2019, Nguyễn Thái Ngọc Duy wrote: > "longest" is used to determine how many extra spaces we need to print > to keep the command description aligned. For the longest command, we > should print no extra space instead of one, or we'll get unaligned > output like this (notice the "checkout" line): > > grow, mark and tweak your common history > branch List, create, or delete branches > checkout Switch branches or restore working tree files > commit Record changes to the repository > diff Show changes between commits, commit and ... > merge Join two or more development histories together > rebase Reapply commits on top of another base tip > tag Create, list, delete or verify a tag ... > > Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> > --- > help.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/help.c b/help.c > index ff05fd22df..520c9080e8 100644 > --- a/help.c > +++ b/help.c > @@ -85,7 +85,8 @@ static void print_command_list(const struct cmdname_help *cmds, > if (cmds[i].category & mask) { > size_t len = strlen(cmds[i].name); > printf(" %s ", cmds[i].name); > - mput_char(' ', longest > len ? longest - len : 1); > + if (longest > len) > + mput_char(' ', longest - len); Why not simply replace the `1` by `0`? Ciao, Dscho > puts(_(cmds[i].help)); > } > } > -- > 2.20.1.682.gd5861c6d90 > >