lib/PublicInbox/View.pm | 11 ++++++----- diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index c65e4684d27587ae26e0410e04f117dd72770926..934fca67783234369eef0924d53afa27c896966e 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -98,7 +98,7 @@ # 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 @@ # 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 @@ my $enc = find_encoding($charset); return $enc if $enc; } } - $enc_utf8; + $default; } sub multipart_text_as_html { @@ -177,7 +178,7 @@ # 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;