From 03115a2dbff942931b91ff106865a935de17db8e Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Tue, 12 Mar 2013 14:55:24 -0700 Subject: [PATCH] return perl-internal encoding even if MIME::Parser fails --- Debbugs/MIME.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Debbugs/MIME.pm b/Debbugs/MIME.pm index 3719d2e..afc0776 100644 --- a/Debbugs/MIME.pm +++ b/Debbugs/MIME.pm @@ -115,6 +115,9 @@ sub parse my @msg = split /\n/, $_[0]; my $i; + # assume us-ascii unless charset is set; probably bad, but we + # really shouldn't get to this point anyway + my $charset = 'us-ascii'; for ($i = 0; $i <= $#msg; ++$i) { $_ = $msg[$i]; last unless length; @@ -122,10 +125,12 @@ sub parse ++$i; $_ .= "\n" . $msg[$i]; } + if (/charset=\"([^\"]+)\"/) { + $charset = $1; + } push @headerlines, $_; } - - @bodylines = @msg[$i .. $#msg]; + @bodylines = map {convert_to_utf8($_,$charset)} @msg[$i .. $#msg]; } rmtree $tempdir, 0, 1; -- 2.39.2