[PATCH 2/4] Fix format.headers not ending with a newline
From: Daniel Barkalow <hidden>
Date: 2016-06-15 22:44:15
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> --- builtin-log.c | 8 ++++++-- t/t4014-format-patch.sh | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/builtin-log.c b/builtin-log.c
index a67b463..73b6d53 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 28ab7b9..755fe6d 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>" &&
--
1.5.4.1.192.g8ea3a