]> Sergey Matveev's repositories - public-inbox.git/commitdiff
view: pass fallback encoding to enc_for
authorEric Wong <e@80x24.org>
Wed, 5 Aug 2015 23:29:34 +0000 (23:29 +0000)
committerEric Wong <e@80x24.org>
Wed, 5 Aug 2015 23:29:50 +0000 (23:29 +0000)
This fixes the fallback to message encoding if the message
itself was not UTF-8

lib/PublicInbox/View.pm

index c65e4684d27587ae26e0410e04f117dd72770926..934fca67783234369eef0924d53afa27c896966e 100644 (file)
@@ -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;