diff --git a/ChangeLog b/ChangeLog index 06ba821d2..182d5535d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-01-30 Christian Franke + + * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears + in option help text. + 2009-01-27 Pavel Roskin * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID. diff --git a/normal/arg.c b/normal/arg.c index 602f7eaff..52c11d3a2 100644 --- a/normal/arg.c +++ b/normal/arg.c @@ -156,10 +156,21 @@ grub_arg_show_help (grub_command_t cmd) } } - while (spacing-- > 0) - grub_putchar (' '); + const char *doc = opt->doc; + for (;;) + { + while (spacing-- > 0) + grub_putchar (' '); - grub_printf ("%s\n", opt->doc); + while (*doc && *doc != '\n') + grub_putchar (*doc++); + grub_putchar ('\n'); + + if (! *doc) + break; + doc++; + spacing = 4 + 20; + } switch (opt->shortarg) {