diff options
author | Thomas Rast <trast@student.ethz.ch> | 2012-01-16 11:53:01 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-01-16 16:06:57 -0800 |
commit | ee2d1cb402a7ccda0028b221f2252801b3cb7eef (patch) | |
tree | d2b20ac5795f6a85820a672c397389d5ac6a64d0 /builtin/mailinfo.c | |
parent | f7e5ea171b693bf5fc88e059d9d4af3753c09143 (diff) | |
download | git-ee2d1cb402a7ccda0028b221f2252801b3cb7eef.tar.gz |
mailinfo: with -b, keep space after [foo]tr/maint-mailinfo
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>
Diffstat (limited to 'builtin/mailinfo.c')
-rw-r--r-- | builtin/mailinfo.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/builtin/mailinfo.c b/builtin/mailinfo.c index bfb32b7233..eaf9e157a3 100644 --- a/builtin/mailinfo.c +++ b/builtin/mailinfo.c @@ -250,8 +250,17 @@ static void cleanup_subject(struct strbuf *subject) (7 <= remove && memmem(subject->buf + at, remove, "PATCH", 5))) strbuf_remove(subject, at, remove); - else + else { 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; } break; |