diff options
author | Eric Wong <e@yhbt.net> | 2020-05-07 21:05:45 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2020-05-09 08:59:10 +0000 |
commit | 453dee4881a9c764b09d33f3a827879f2cd3669d (patch) | |
tree | e1c5d2fcb1b5e4a7571e9eaf59d6ce6660f3e200 /lib/PublicInbox/MsgIter.pm | |
parent | 8d1b87f498ea47bb752ea24900372df192d322fb (diff) | |
download | public-inbox-453dee4881a9c764b09d33f3a827879f2cd3669d.tar.gz |
This doesn't make any difference for most multipart messages (or any single part messages). However, this starts having space savings when parts start nesting. It also slightly simplifies callers.
Diffstat (limited to 'lib/PublicInbox/MsgIter.pm')
-rw-r--r-- | lib/PublicInbox/MsgIter.pm | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/PublicInbox/MsgIter.pm b/lib/PublicInbox/MsgIter.pm index cd5a5d99..7c28d019 100644 --- a/lib/PublicInbox/MsgIter.pm +++ b/lib/PublicInbox/MsgIter.pm @@ -20,12 +20,14 @@ sub em_each_part ($$;$$) { my $i = 0; @parts = map { [ $_, 1, ++$i ] } @parts; while (my $p = shift @parts) { - my ($part, $depth, @idx) = @$p; + my ($part, $depth, $idx) = @$p; my @sub = $part->subparts; if (@sub) { $depth++; $i = 0; - @sub = map { [ $_, $depth, @idx, ++$i ] } @sub; + @sub = map { + [ $_, $depth, "$idx.".(++$i) ] + } @sub; @parts = (@sub, @parts); } else { $cb->($p, $cb_arg); |