diff options
author | Daniel Barkalow <barkalow@iabervon.org> | 2008-02-19 02:40:31 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-02-19 21:49:38 -0800 |
commit | 7d22708b254d4ec28cd865dc5489d175ee6d65c2 (patch) | |
tree | 378316b8f3dd966c90d8889de5fd1cb5c23a323d | |
parent | Add tests for extra headers in format-patch (diff) | |
download | tgif-7d22708b254d4ec28cd865dc5489d175ee6d65c2.tar.xz |
Fix format.headers not ending with a newline
Now each value of format.headers will always be treated as a single
valid header, and newlines will be inserted between them as needed.
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin-log.c | 8 | ||||
-rwxr-xr-x | t/t4014-format-patch.sh | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/builtin-log.c b/builtin-log.c index 3dc765011c..fe1a2d78eb 100644 --- a/builtin-log.c +++ b/builtin-log.c @@ -425,10 +425,14 @@ static int git_format_config(const char *var, const char *value) if (!value) die("format.headers without value"); len = strlen(value); - extra_headers_size += len + 1; + while (value[len - 1] == '\n') + len--; + extra_headers_size += len + 2; extra_headers = xrealloc(extra_headers, extra_headers_size); - extra_headers[extra_headers_size - len - 1] = 0; + extra_headers[extra_headers_size - len - 2] = 0; strcat(extra_headers, value); + extra_headers[extra_headers_size - 2] = '\n'; + extra_headers[extra_headers_size - 1] = 0; return 0; } if (!strcmp(var, "format.suffix")) { diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh index 28ab7b9a53..755fe6dfa6 100755 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@ -101,7 +101,7 @@ test_expect_success 'extra headers' ' ' -test_expect_failure 'extra headers without newlines' ' +test_expect_success 'extra headers without newlines' ' git config --replace-all format.headers "To: R. E. Cipient <rcipient@example.com>" && git config --add format.headers "Cc: S. E. Cipient <scipient@example.com>" && |