Re: [PATCH V2 6/6] scripts/kconfig/nconf: trunc too long string display in menu

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi.

On Wed, Aug 31, 2011 at 10:46 AM, Cheng Renquan <crquan@xxxxxxxxx> wrote:
> When the string is too long, only show the first COLS/2 bytes wide,
> to make sure there is some space to show the menu prompt.
>
> Signed-off-by: Cheng Renquan <crquan@xxxxxxxxx>
> ---
>  scripts/kconfig/nconf.c |    8 +++++++-
>  1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
> index 4248759..4997ebf 100644
> --- a/scripts/kconfig/nconf.c
> +++ b/scripts/kconfig/nconf.c
> @@ -887,8 +887,14 @@ static void build_conf(struct menu *menu)
>                                break;
>                        default:
>                                tmp = 2 + strlen(sym_get_string_value(sym));
> -                               item_make(menu, 's', "    (%s)",
> +                               if (tmp < COLS/2)
> +                                       item_make(menu, 's', "    (%s)",
>                                                sym_get_string_value(sym));
> +                               else {
> +                                       char *s = strndupa(sym_get_string_value(sym), COLS/2);
> +                                       strcpy(s + COLS/2 - 5, " ...");
> +                                       item_make(menu, 's', "    (%s)", s);
> +                               }
>                                tmp = indent - tmp + 4;
>                                if (tmp < 0)
>                                        tmp = 0;
> --
> 1.7.6
>
>

Nack.

I see several problems with this approach:
1) I do not like the use of strdupa.
2) I think it would be better to put this behavior in item_make(), as
it will then be applied to all items, in all code paths. However, I a
not sure that using COLS/2 is the best approach. Moreover, I think
that this should be implemented inside the ncurses menu library and
not worked around. Care to create a patch for ncurses?

Cheers,
Nir.
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux