diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-07-10 20:18:09 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-07-10 20:18:09 -0700 |
commit | 73ccb916e4e733745e1361739b07f1ef3e97ae6b (patch) | |
tree | d2c9abd4af52f89c28cae775cc1babdadc2b3f42 /builtin-mailinfo.c | |
parent | 6edd14968bf969a651d057ea7fb7757393d282bf (diff) | |
parent | 650d30d8a120c8982309ccb9ef40432b4ea2eb74 (diff) | |
download | git-73ccb916e4e733745e1361739b07f1ef3e97ae6b.tar.gz |
Merge branch 'ae/maint-mailinfo-rm-only-one-patch-marker'
* ae/maint-mailinfo-rm-only-one-patch-marker:
mailinfo: Remove only one set of square brackets
Diffstat (limited to 'builtin-mailinfo.c')
-rw-r--r-- | builtin-mailinfo.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c index 92637ac0ba..fb5ad70f3f 100644 --- a/builtin-mailinfo.c +++ b/builtin-mailinfo.c @@ -221,6 +221,8 @@ static void cleanup_subject(struct strbuf *subject) { char *pos; size_t remove; + int brackets_removed = 0; + while (subject->len) { switch (*subject->buf) { case 'r': case 'R': @@ -235,10 +237,15 @@ static void cleanup_subject(struct strbuf *subject) strbuf_remove(subject, 0, 1); continue; case '[': + /* remove only one set of square brackets */ + if (brackets_removed) + break; + if ((pos = strchr(subject->buf, ']'))) { remove = pos - subject->buf; if (remove <= (subject->len - remove) * 2) { strbuf_remove(subject, 0, remove + 1); + brackets_removed = 1; continue; } } else |