summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin-mailinfo.c7
-rw-r--r--t/t5100/info00122
-rw-r--r--t/t5100/sample.mbox2
3 files changed, 9 insertions, 2 deletions
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
index 92637ac..fb5ad70 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
diff --git a/t/t5100/info0012 b/t/t5100/info0012
index ac1216f..9cd1415 100644
--- a/t/t5100/info0012
+++ b/t/t5100/info0012
@@ -1,5 +1,5 @@
Author: Dmitriy Blinov
Email: bda@mnsspb.ru
-Subject: Изменён список пакетов необходимых для сборки
+Subject: [Navy-patches] Изменён список пакетов необходимых для сборки
Date: Wed, 12 Nov 2008 17:54:41 +0300
diff --git a/t/t5100/sample.mbox b/t/t5100/sample.mbox
index c3074ac..3a757d7 100644
--- a/t/t5100/sample.mbox
+++ b/t/t5100/sample.mbox
@@ -514,7 +514,7 @@ MIME-Version: 1.0
Content-Type: text/plain;
charset=utf-8
Content-Transfer-Encoding: 8bit
-Subject: [Navy-patches] [PATCH]
+Subject: [PATCH] [Navy-patches]
=?utf-8?b?0JjQt9C80LXQvdGR0L0g0YHQv9C40YHQvtC6INC/0LA=?=
=?utf-8?b?0LrQtdGC0L7QsiDQvdC10L7QsdGF0L7QtNC40LzRi9GFINC00LvRjyA=?=
=?utf-8?b?0YHQsdC+0YDQutC4?=