X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FMbox.pm;h=16de1a728ab6345f58c0637f537bfca6485a44ce;hb=92de3139920992bfad32ef927153f27addfdc72c;hp=46964bbb77cc5e49584dd35ea67c77ecaa221356;hpb=90dc2b8ca53f93ca937e7cc71cd7c915e3df8020;p=public-inbox.git diff --git a/lib/PublicInbox/Mbox.pm b/lib/PublicInbox/Mbox.pm index 46964bbb..16de1a72 100644 --- a/lib/PublicInbox/Mbox.pm +++ b/lib/PublicInbox/Mbox.pm @@ -13,6 +13,7 @@ use warnings; use PublicInbox::MID qw/mid_escape/; use PublicInbox::Hval qw/to_filename/; use PublicInbox::Smsg; +use PublicInbox::WwwStream qw(html_oneshot); use Email::Simple; use Email::MIME::Encode; @@ -43,19 +44,16 @@ sub getline { my ($ctx, $id, $prev, $next, $mref, $hdr) = @$more; if ($hdr) { # first message hits this, only pop @$more; # $hdr - return msg_hdr($ctx, $hdr); - } - if ($mref) { # all messages hit this pop @$more; # $mref - return msg_body($$mref); + return msg_hdr($ctx, $hdr) . msg_body($$mref); } my $cur = $next or return; my $ibx = $ctx->{-inbox}; $next = $ibx->over->next_by_mid($ctx->{mid}, \$id, \$prev); $mref = $ibx->msg_by_smsg($cur) or return; $hdr = Email::Simple->new($mref)->header_obj; - @$more = ($ctx, $id, $prev, $next, $mref); # $next may be undef, here - msg_hdr($ctx, $hdr); # all but first message hits this + @$more = ($ctx, $id, $prev, $next); # $next may be undef, here + msg_hdr($ctx, $hdr) . msg_body($$mref); } sub close {} # noop @@ -108,7 +106,7 @@ sub msg_hdr ($$;$) { 'List-Post', "{-primary_address}>", ); my $crlf = $header_obj->crlf; - my $buf = "From mboxrd\@z Thu Jan 1 00:00:00 1970\n" . + my $buf = 'From mboxrd@z Thu Jan 1 00:00:00 1970' . $crlf . $header_obj->as_string; for (my $i = 0; $i < @append; $i += 2) { my $k = $append[$i]; @@ -236,7 +234,7 @@ sub mbox_all { } sub need_gzip { - PublicInbox::WwwStream::oneshot($_[0], 501, \<gzipped mbox not available The administrator needs to install the Compress::Raw::Zlib Perl module