X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FWwwListing.pm;h=21e5b8bc8121040e9bd467d4cd30d7ca0baa654e;hb=11cd89ced627f25e4d5065641097d734f67dfb70;hp=79c0a8ec209ff37081086f6a301114538e7a8ef4;hpb=065bc720f6c11b5e4f0ba79948087a6a1284edd5;p=public-inbox.git diff --git a/lib/PublicInbox/WwwListing.pm b/lib/PublicInbox/WwwListing.pm index 79c0a8ec..21e5b8bc 100644 --- a/lib/PublicInbox/WwwListing.pm +++ b/lib/PublicInbox/WwwListing.pm @@ -162,24 +162,22 @@ sub mset_footer ($$) { # no footer if too few matches return '' if $mset->get_matches_estimated == $mset->size; require PublicInbox::SearchView; - PublicInbox::SearchView::search_nav_bot($mset, $ctx->{-sq}); + PublicInbox::SearchView::search_nav_bot($ctx, $mset, $ctx->{-sq}); } sub mset_nav_top { my ($ctx, $mset) = @_; my $q = $ctx->{-sq}; my $qh = $q->{'q'} // ''; - utf8::decode($qh); - $qh = ascii_html($qh); - $qh = qq[\nvalue="$qh"] if $qh ne ''; - my $rv = <
+	if ($qh ne '') {
+		utf8::decode($qh);
+		$qh = qq[\nvalue="].ascii_html($qh).'"';
+	}
+	chop(my $rv = <
 EOM
-	chomp $rv;
 	if (defined($q->{'q'})) {
 		my $initial_q = $ctx->{-uxs_retried};
 		if (defined $initial_q) {
@@ -210,28 +208,28 @@ sub psgi_triple {
 	my $h = [ 'Content-Type', 'text/html; charset=UTF-8',
 			'Content-Length', undef ];
 	my $gzf = gzf_maybe($h, $ctx->{env});
-	$gzf->zmore('public-inbox listing' .
-			$ctx->{www}->style('+/') .
-			'');
+	my $zfh = $gzf->zfh;
+	print $zfh 'public-inbox listing',
+			$ctx->{www}->style('+/'),
+			'';
 	my $code = 404;
 	if (my $list = delete $ctx->{-list}) {
 		my $mset = delete $ctx->{-mset};
 		$code = 200;
 		if ($mset) { # already sorted, so search bar:
-			$gzf->zmore(mset_nav_top($ctx, $mset));
+			print $zfh mset_nav_top($ctx, $mset);
 		} else { # sort config dump by ->modified
 			@$list = map { $_->[1] }
 				sort { $b->[0] <=> $a->[0] } @$list;
 		}
-		$gzf->zmore('
');
-		$gzf->zmore(join("\n", @$list));
-		$gzf->zmore(mset_footer($ctx, $mset)) if $mset;
+		print $zfh '
', join("\n", @$list); # big
+		print $zfh mset_footer($ctx, $mset) if $mset;
 	} elsif (my $mset = delete $ctx->{-mset}) {
-		$gzf->zmore(mset_nav_top($ctx, $mset));
-		$gzf->zmore('
no matching inboxes');
-		$gzf->zmore(mset_footer($ctx, $mset));
+		print $zfh mset_nav_top($ctx, $mset),
+				'
no matching inboxes',
+				mset_footer($ctx, $mset);
 	} else {
-		$gzf->zmore('
no inboxes, yet');
+		print $zfh '
no inboxes, yet';
 	}
 	my $out = $gzf->zflush('

'.
 qq(This is a listing of public inboxes, see the `mirror' link of each inbox