lib/PublicInbox/View.pm | 15 ++++-----------
lib/PublicInbox/WwwAtomStream.pm | 5 ++---
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 37b484ae297ddff988ef7be93a16e502e2fdce23..0b67d92f9f4643576823a1eefb010c022a2e4ca9 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -39,8 +39,8 @@ : $ctx->gone('over');
$ctx->{mhref} = ($ctx->{nr} || $ctx->{smsg}) ?
"../${\mid_href($smsg->{mid})}/" : '';
if (_msg_page_prepare_obuf($eml, $ctx)) {
- multipart_text_as_html($eml, $ctx);
- ${$ctx->{obuf}} .= '
';
+ $eml->each_part(\&add_text_body, $ctx, 1);
+ $ctx->zmore('
');
}
html_footer($ctx, $ctx->{first_hdr}) if !$ctx->{smsg};
delete($ctx->{obuf}) // \'';
@@ -57,8 +57,8 @@ my $eml = PublicInbox::Eml->new($bref);
$ctx->{mhref} = '';
PublicInbox::WwwStream::init($ctx);
if (_msg_page_prepare_obuf($eml, $ctx)) { # sets {-title_html}
- multipart_text_as_html($eml, $ctx);
- ${$ctx->{obuf}} .= '
';
+ $eml->each_part(\&add_text_body, $ctx, 1);
+ $ctx->zmore('
');
}
html_footer($ctx, $eml);
$ctx->html_done;
@@ -504,13 +504,6 @@ my $skel = delete($ctx->{skel}) or return; # all done
$ctx->zmore($$skel);
undef;
}
-}
-
-sub multipart_text_as_html {
- # ($mime, $ctx) = @_; # each_part may do "$_[0] = undef"
-
- # scan through all parts, looking for displayable text
- $_[0]->each_part(\&add_text_body, $_[1], 1);
}
sub submsg_hdr ($$) {
diff --git a/lib/PublicInbox/WwwAtomStream.pm b/lib/PublicInbox/WwwAtomStream.pm
index 906b292a703d1c14cf2e26bd9d844b13748168b5..09c79a8a1cba1ebbcab244fe853eadb7829a2362 100644
--- a/lib/PublicInbox/WwwAtomStream.pm
+++ b/lib/PublicInbox/WwwAtomStream.pm
@@ -157,9 +157,8 @@ qq();
$ctx->{obuf} = \$s;
$ctx->{mhref} = $href;
$ctx->{changed_href} = "${href}#related";
- PublicInbox::View::multipart_text_as_html($eml, $ctx);
- delete $ctx->{obuf};
- $s .= '';
+ $eml->each_part(\&PublicInbox::View::add_text_body, $ctx, 1);
+ '';
}
sub feed_updated {