about summary refs log tree commit homepage
path: root/lib/PublicInbox/MsgIter.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-10-31 00:33:04 +0000
committerEric Wong <e@80x24.org>2019-10-31 00:33:50 +0000
commit130af18f06ae9b91e07985ff56b4dd90cedbd744 (patch)
tree8b26f39c874649ccc9d9746410f13c7222b5212b /lib/PublicInbox/MsgIter.pm
parent7375e589c165cd0c5bae2d70ff8e279fb76216a2 (diff)
downloadpublic-inbox-130af18f06ae9b91e07985ff56b4dd90cedbd744.tar.gz
msgiter: do not assume UTF-8 if Email::MIME->body_str succeeds
ISO-2202-JP and other non-UTF-8 messages need to be displayed
correctly.

Fixes: 7d82a8bc04ce ('handle "multipart/mixed" messages which are not multipart')
Diffstat (limited to 'lib/PublicInbox/MsgIter.pm')
-rw-r--r--lib/PublicInbox/MsgIter.pm3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/PublicInbox/MsgIter.pm b/lib/PublicInbox/MsgIter.pm
index ce08ff84..f11ba223 100644
--- a/lib/PublicInbox/MsgIter.pm
+++ b/lib/PublicInbox/MsgIter.pm
@@ -45,7 +45,8 @@ sub msg_part_text ($$) {
         # times when it should not have been:
         #   <87llgalspt.fsf@free.fr>
         #   <200308111450.h7BEoOu20077@mail.osdl.org>
-        if ($ct =~ m!\btext/plain\b!i || $ct =~ m!\bmultipart/mixed\b!i) {
+        if ($err && ($ct =~ m!\btext/plain\b!i ||
+                        $ct =~ m!\bmultipart/mixed\b!i)) {
                 # Try to assume UTF-8 because Alpine seems to
                 # do wacky things and set charset=X-UNKNOWN
                 $part->charset_set('UTF-8');