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>
This commit is contained in:
parent
a8d8173e6c
commit
7d22708b25
@ -425,10 +425,14 @@ static int git_format_config(const char *var, const char *value)
|
|||||||
if (!value)
|
if (!value)
|
||||||
die("format.headers without value");
|
die("format.headers without value");
|
||||||
len = strlen(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 = 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);
|
strcat(extra_headers, value);
|
||||||
|
extra_headers[extra_headers_size - 2] = '\n';
|
||||||
|
extra_headers[extra_headers_size - 1] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (!strcmp(var, "format.suffix")) {
|
if (!strcmp(var, "format.suffix")) {
|
||||||
|
@ -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 --replace-all format.headers "To: R. E. Cipient <rcipient@example.com>" &&
|
||||||
git config --add format.headers "Cc: S. E. Cipient <scipient@example.com>" &&
|
git config --add format.headers "Cc: S. E. Cipient <scipient@example.com>" &&
|
||||||
|
Loading…
Reference in New Issue
Block a user