On Sun, Feb 11, 2024, at 23:47, Rubén Justo wrote:
Show 29 quoted lines
> While we're here, I wonder if silently ignoring a negative value in
> .padding is the right thing to do.
>
> There are several callers of print_columns():
>
> builtin/branch.c: print_columns(&output, colopts, NULL);
> builtin/clean.c: print_columns(&list, colopts, &copts);
> builtin/clean.c: print_columns(menu_list, local_colopts, &copts);
> builtin/column.c: print_columns(&list, colopts, &copts);
> help.c: print_columns(&list, colopts, &copts);
> wt-status.c: print_columns(&output, s->colopts, &copts);
>
> I haven't checked it thoroughly but it seems we don't need to add the
> check we're adding to builtin/column.c, to any of the other callers.
> However, it is possible that these or other new callers may need it in
> the future. If so, we should consider doing something like:
>
> diff --git a/column.c b/column.c
> index c723428bc7..4f870c725f 100644
> --- a/column.c
> +++ b/column.c
> @@ -186,6 +186,9 @@ void print_columns(const struct string_list *list,
> unsigned int colopts,
> return;
> assert((colopts & COL_ENABLE_MASK) != COL_AUTO);
>
> + if (opts && (0 <= opts->padding))
> + BUG("padding must be non-negative");
> +