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@xxxxxxxxxxxx> --- 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@xxxxxxxxxxx>" && git config --add format.headers "Cc: S. E. Cipient <scipient@xxxxxxxxxxx>" && -- 1.5.4.1.192.g8ea3a - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html