trailer: display a trailer without its trailing newline
Trailers passed to the parse_trailer() function often have a trailing newline. When erroring out, we should display the invalid trailer properly, that means without any trailing newline. Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
2887103b35
commit
d52adf1f32
@ -583,8 +583,12 @@ static int parse_trailer(struct strbuf *tok, struct strbuf *val, const char *tra
|
|||||||
strbuf_addch(&seps, '=');
|
strbuf_addch(&seps, '=');
|
||||||
len = strcspn(trailer, seps.buf);
|
len = strcspn(trailer, seps.buf);
|
||||||
strbuf_release(&seps);
|
strbuf_release(&seps);
|
||||||
if (len == 0)
|
if (len == 0) {
|
||||||
return error(_("empty trailer token in trailer '%s'"), trailer);
|
int l = strlen(trailer);
|
||||||
|
while (l > 0 && isspace(trailer[l - 1]))
|
||||||
|
l--;
|
||||||
|
return error(_("empty trailer token in trailer '%.*s'"), l, trailer);
|
||||||
|
}
|
||||||
if (len < strlen(trailer)) {
|
if (len < strlen(trailer)) {
|
||||||
strbuf_add(tok, trailer, len);
|
strbuf_add(tok, trailer, len);
|
||||||
strbuf_trim(tok);
|
strbuf_trim(tok);
|
||||||
|
Loading…
Reference in New Issue
Block a user