From 0d4b759ca4527673f4576e458e534f0a06621f98 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 5 Aug 2015 23:29:34 +0000 Subject: view: pass fallback encoding to enc_for This fixes the fallback to message encoding if the message itself was not UTF-8 --- lib/PublicInbox/View.pm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'lib') 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; -- cgit v1.2.3-24-ge0c7