diff options
author | Eric Wong <e@yhbt.net> | 2020-05-07 21:05:44 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2020-05-09 08:59:10 +0000 |
commit | 8d1b87f498ea47bb752ea24900372df192d322fb (patch) | |
tree | 3d14a85ee2e353544e5d2a7cd59c0e071065bf76 /lib/PublicInbox/MIME.pm | |
parent | dc7dc9ef49e3d396d2b47fa2befd1718aff45f0d (diff) | |
download | public-inbox-8d1b87f498ea47bb752ea24900372df192d322fb.tar.gz |
msg_iter: make ->each_part method for PublicInbox::MIME
The reliance on Email::MIME->subparts is a tad inefficient with a work-in-progress module to replace Email::MIME. So move towards using ->each_part as a class-specific iterator which can take advantage of more class-specific optimizations in the yet-to-be-revealed PublicInbox::Eml and PublicInbox::Gmime classes. The msg_iter() sub remains for compatibility with existing 3rd-party scripts/modules which use our small public Perl API and Email::MIME.
Diffstat (limited to 'lib/PublicInbox/MIME.pm')
-rw-r--r-- | lib/PublicInbox/MIME.pm | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/PublicInbox/MIME.pm b/lib/PublicInbox/MIME.pm index 456eed64..b795b93b 100644 --- a/lib/PublicInbox/MIME.pm +++ b/lib/PublicInbox/MIME.pm @@ -24,6 +24,7 @@ use strict; use warnings; use base qw(Email::MIME); use Email::MIME::ContentType; +use PublicInbox::MsgIter (); $Email::MIME::ContentType::STRICT_PARAMS = 0; if ($Email::MIME::VERSION <= 1.937) { @@ -101,4 +102,6 @@ sub parts_multipart { } } +no warnings 'once'; +*each_part = \&PublicInbox::MsgIter::em_each_part; 1; |