[PATCH v2 2/5] trailer: display a trailer without its trailing newline
- From
Christian Couder <chriscool@tuxfamily.org>
- Date
- Nov 9, 2014, 09:23 UTC
- Message-ID
- <20141109092344.4864.55173.chriscool@tuxfamily.org>
- In-Reply-To
- <20141109092313.4864.54933.chriscool@tuxfamily.org>
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> --- trailer.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/trailer.c b/trailer.c index 761b763..219a5a2 100644 --- a/trailer.c +++ b/trailer.c @@ -583,8 +583,12 @@ static int parse_trailer(struct strbuf *tok, struct strbuf *val, const char *tra strbuf_addch(&seps, '='); len = strcspn(trailer, seps.buf); strbuf_release(&seps); - if (len == 0) - return error(_("empty trailer token in trailer '%s'"), trailer); + if (len == 0) { + 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)) { strbuf_add(tok, trailer, len); strbuf_trim(tok);
-- 2.1.2.555.gfbecd99