mailinfo: with -b, keep space after [foo]
The logic for the -b mode, where [PATCH] is dropped but [foo] is not, silently ate all spaces after the ]. Fix this by keeping the next isspace() character, if there is any. Being more thorough is pointless, as the later cleanup_space() call will normalize any sequence of whitespace to a single ' '. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
f7e5ea171b
commit
ee2d1cb402
|
@ -250,8 +250,17 @@ static void cleanup_subject(struct strbuf *subject)
|
||||||
(7 <= remove &&
|
(7 <= remove &&
|
||||||
memmem(subject->buf + at, remove, "PATCH", 5)))
|
memmem(subject->buf + at, remove, "PATCH", 5)))
|
||||||
strbuf_remove(subject, at, remove);
|
strbuf_remove(subject, at, remove);
|
||||||
else
|
else {
|
||||||
at += remove;
|
at += remove;
|
||||||
|
/*
|
||||||
|
* If the input had a space after the ], keep
|
||||||
|
* it. We don't bother with finding the end of
|
||||||
|
* the space, since we later normalize it
|
||||||
|
* anyway.
|
||||||
|
*/
|
||||||
|
if (isspace(subject->buf[at]))
|
||||||
|
at += 1;
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -244,7 +244,7 @@ test_expect_success 'am --keep really keeps the subject' '
|
||||||
grep "Re: Re: Re: \[PATCH 1/5 v2\] \[foo\] third" actual
|
grep "Re: Re: Re: \[PATCH 1/5 v2\] \[foo\] third" actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_failure 'am --keep-non-patch really keeps the non-patch part' '
|
test_expect_success 'am --keep-non-patch really keeps the non-patch part' '
|
||||||
rm -fr .git/rebase-apply &&
|
rm -fr .git/rebase-apply &&
|
||||||
git reset --hard &&
|
git reset --hard &&
|
||||||
git checkout HEAD^ &&
|
git checkout HEAD^ &&
|
||||||
|
|
Loading…
Reference in New Issue