about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2015-08-05 23:29:34 +0000
committerEric Wong <e@80x24.org>2015-08-05 23:29:50 +0000
commit0d4b759ca4527673f4576e458e534f0a06621f98 (patch)
treecd42564cd8ae2676ce60b53ce58524b49b758e0b /lib
parent4246aa829cef47b9d7a0400e1fe166b319b2f761 (diff)
downloadpublic-inbox-0d4b759ca4527673f4576e458e534f0a06621f98.tar.gz
This fixes the fallback to message encoding if the message
itself was not UTF-8
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/View.pm11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index c65e4684..934fca67 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -98,7 +98,7 @@ sub index_entry {
                 # account for filter bugs...
                 return if defined $ct && $ct =~ m!\btext/[xh]+tml\b!i;
 
-                my $enc = enc_for($ct) || $enc_msg || $enc_utf8;
+                my $enc = enc_for($ct, $enc_msg);
 
                 if ($part_nr > 0) {
                         my $fn = $part->filename;
@@ -150,8 +150,9 @@ sub index_entry {
 # only private functions below.
 
 sub enc_for {
-        my ($ct) = @_;
-        defined $ct or return $enc_utf8;
+        my ($ct, $default) = @_;
+        $default ||= $enc_utf8;
+        defined $ct or return $default;
         my $ct_parsed = parse_content_type($ct);
         if ($ct_parsed) {
                 if (my $charset = $ct_parsed->{attributes}->{charset}) {
@@ -159,7 +160,7 @@ sub enc_for {
                         return $enc if $enc;
                 }
         }
-        $enc_utf8;
+        $default;
 }
 
 sub multipart_text_as_html {
@@ -177,7 +178,7 @@ sub multipart_text_as_html {
                 # account for filter bugs...
                 return if defined $ct && $ct =~ m!\btext/[xh]+tml\b!i;
 
-                my $enc = enc_for($ct) || $enc_msg || $enc_utf8;
+                my $enc = enc_for($ct, $enc_msg);
 
                 if ($part_nr > 0) {
                         my $fn = $part->filename;