Hi,
Since this change, inspired by Ricardo Signes, fixes an obvious bug in
Email::MIME, I'd like to request this patch be pushed into git. Also a
new release of Email::MIME containing this fix would be nice.
Kind regards,
Erik.
-------- Original Message --------
Subject: Re: Email::MIME walk_parts doesn't walk all my parts
Date: Thu, 03 Jun 2010 23:43:24 +0200
From: Erik Logtenberg <[email protected]>
To: [email protected]
> This looks like an incredibly stupid bug based on the incredibly stupid
> ->parts
> method. Its behavior is really lame.
>
> I'm afraid I don't have a lot more time to look at this right now, but I'd
> play
> around with tweaking walk_parts (in Email::MIME) to use ->subparts instead,
> which is a lot saner.
>
> If that fixes this, it's probably a welcome patch. Thanks for the report.
Yeah that fixes this indeed, thank you very much. Please find attached
the patch to MIME.pm with this fix.
Kind regards,
Erik.
--- Email/MIME.pm-orig 2009-12-23 17:35:11.000000000 +0100
+++ Email/MIME.pm 2010-06-03 23:39:39.334928669 +0200
@@ -712,9 +712,9 @@
$walk = sub {
my ($part) = @_;
$callback->($part);
- if ($part->parts > 1) {
+ if ($part->subparts > 0) {
my @subparts;
- for ($part->parts) {
+ for ($part->subparts) {
push @subparts, $walk->($_);
}
$part->parts_set(\...@subparts);