diff options
author | Eric Wong <e@80x24.org> | 2017-01-10 21:40:37 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2017-01-10 22:02:51 +0000 |
commit | 3fc59df0d633a17e0c5e43d633d12e8772c06ec3 (patch) | |
tree | 2c4f6800777694fa8e2d40b625d2fe766f719adf /lib/PublicInbox/MsgIter.pm | |
parent | f1a38b18d9a46531e18143a7cd4c7a66fc89adbc (diff) | |
download | public-inbox-3fc59df0d633a17e0c5e43d633d12e8772c06ec3.tar.gz |
This should fix problems with multipart messages where text/plain parts lack a header. cf. git clone --mirror https://github.com/rjbs/Email-MIME.git refs/pull/28/head In the future, we may still introduce as streaming interface to reduce memory usage on large emails.
Diffstat (limited to 'lib/PublicInbox/MsgIter.pm')
-rw-r--r-- | lib/PublicInbox/MsgIter.pm | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/lib/PublicInbox/MsgIter.pm b/lib/PublicInbox/MsgIter.pm index ef0d209f..5be06a44 100644 --- a/lib/PublicInbox/MsgIter.pm +++ b/lib/PublicInbox/MsgIter.pm @@ -6,17 +6,7 @@ use strict; use warnings; use base qw(Exporter); our @EXPORT = qw(msg_iter); -use Email::MIME; -use Scalar::Util qw(readonly); - -# Workaround Email::MIME versions without -# commit dcef9be66c49ae89c7a5027a789bbbac544499ce -# ("removing all trailing newlines was too much") -# This is necessary for Debian jessie -my $bad = 1.923; -my $good = 1.935; -my $ver = $Email::MIME::VERSION; -my $extra_nl = 1 if ($ver >= $bad && $ver < $good); +use PublicInbox::MIME; # Like Email::MIME::walk_parts, but this is: # * non-recursive @@ -36,16 +26,6 @@ sub msg_iter ($$) { @sub = map { [ $_, $depth, @idx, ++$i ] } @sub; @parts = (@sub, @parts); } else { - if ($extra_nl) { - my $lf = $part->{mycrlf}; - my $bref = $part->{body}; - if (readonly($$bref)) { - my $s = $$bref . $lf; - $part->{body} = \$s; - } else { - $$bref .= $lf; - } - } $cb->($p); } } |