Re: [PATCH v4 12/28] format_trailer_info(): append newline for non-trailer lines
"Linus Arver via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 16 quoted lines
> And before we made the transition to use trailer_item objects for it,
> format_trailer_info() called parse_trailer() (which trims newlines) for
> trailer lines but did _not_ call parse_trailer() for non-trailer lines.
> So for trailer lines it had to add back the trimmed newline like this
>
> if (!opts->separator)
> strbuf_addch(out, '\n');
>
> But for non-trailer lines it didn't have to add back the newline because
> it could just reuse same string in the "trailers" string array (which
> again, already included the trailing newline).
>
> Now that format_trailer_info() uses trailer_item objects for all cases,
> it can't rely on "trailers" string array anymore. And so it must be
> taught to add a newline back when printing non-trailer lines, just like
> it already does for trailer lines. Do so now.
Show 25 quoted lines
> The test suite passes again, so format_trailer_info() is in better shape
> supersede format_trailers(), which we'll do in the next patch.
>
> Signed-off-by: Linus Arver <linusa@google.com>
> ---
> trailer.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/trailer.c b/trailer.c
> index 12cae5b73d2..0774a544c4f 100644
> --- a/trailer.c
> +++ b/trailer.c
> @@ -1125,9 +1125,10 @@ static void format_trailer_info(const struct process_trailer_options *opts,
> strbuf_addbuf(out, opts->separator);
> }
> strbuf_addstr(out, item->value);
> - if (opts->separator) {
> + if (opts->separator)
> strbuf_rtrim(out);
> - }
> + else
> + strbuf_addch(out, '\n');
> }
> }
> }