diff options
author | Eric Wong <e@80x24.org> | 2015-08-05 23:29:34 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2015-08-05 23:29:50 +0000 |
commit | 0d4b759ca4527673f4576e458e534f0a06621f98 (patch) | |
tree | cd42564cd8ae2676ce60b53ce58524b49b758e0b | |
parent | 4246aa829cef47b9d7a0400e1fe166b319b2f761 (diff) | |
download | public-inbox-0d4b759ca4527673f4576e458e534f0a06621f98.tar.gz |
This fixes the fallback to message encoding if the message itself was not UTF-8
-rw-r--r-- | lib/PublicInbox/View.pm | 11 |
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; |