summaryrefslogtreecommitdiff
path: root/trailer.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-11-19 13:47:49 -0800
committerJunio C Hamano <gitster@pobox.com>2014-11-19 13:47:52 -0800
commitd4c4f18090c91377dd19df8a18232d1697455aa6 (patch)
tree29d61d1d93cfb6404a94ec41b8baf6edeac59d99 /trailer.c
parente69b1ce000e6c530ac8bf06470742456277e2a36 (diff)
parentd52adf1f328162a9513940913ced044d24c0212f (diff)
downloadgit-d4c4f18090c91377dd19df8a18232d1697455aa6.tar.gz
Merge branch 'cc/interpret-trailers'
Small fixes to a new experimental command already in 'master'. * cc/interpret-trailers: trailer: display a trailer without its trailing newline trailer: ignore comment lines inside the trailers
Diffstat (limited to 'trailer.c')
-rw-r--r--trailer.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/trailer.c b/trailer.c
index 6ae786505a..a905f5c50c 100644
--- a/trailer.c
+++ b/trailer.c
@@ -582,8 +582,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);
@@ -803,8 +807,10 @@ static int process_input_file(struct strbuf **lines,
/* Parse trailer lines */
for (i = trailer_start; i < patch_start; i++) {
- struct trailer_item *new = create_trailer_item(lines[i]->buf);
- add_trailer_item(in_tok_first, in_tok_last, new);
+ if (lines[i]->buf[0] != comment_line_char) {
+ struct trailer_item *new = create_trailer_item(lines[i]->buf);
+ add_trailer_item(in_tok_first, in_tok_last, new);
+ }
}
return patch_start;