From cb1c4976f116ebdf94300fd474c7176e82122003 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 17 Oct 2023 10:11:04 +0000 Subject: lei: consolidate stdin slurp, fix warnings We can share more code amongst stdin slurper (not streaming) commands. This also fixes uninitialized variable warnings when feeding an empty stdin to these commands. --- lib/PublicInbox/LeiQuery.pm | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'lib/PublicInbox/LeiQuery.pm') diff --git a/lib/PublicInbox/LeiQuery.pm b/lib/PublicInbox/LeiQuery.pm index e2d8a096..eadf811f 100644 --- a/lib/PublicInbox/LeiQuery.pm +++ b/lib/PublicInbox/LeiQuery.pm @@ -61,19 +61,13 @@ sub _start_query { # used by "lei q" and "lei up" sub do_qry { # do_env cb my ($lei) = @_; - $lei->{mset_opt}->{q_raw} = $lei->{mset_opt}->{qstr}; + $lei->{mset_opt}->{q_raw} = $lei->{mset_opt}->{qstr} + = delete $lei->{stdin_buf}; $lei->{lse}->query_approxidate($lei->{lse}->git, $lei->{mset_opt}->{qstr}); _start_query($lei); } -sub qstr_add { # PublicInbox::InputPipe::consume callback for --stdin - my ($lei) = @_; # $_[1] = $rbuf - $_[1] // $lei->fail("error reading stdin: $!"); - return $lei->{mset_opt}->{qstr} .= $_[1] if $_[1] ne ''; - $lei->do_env(\&do_qry); -} - # make the URI||PublicInbox::{Inbox,ExtSearch} a config-file friendly string sub cfg_ext ($) { my ($x) = @_; @@ -159,9 +153,7 @@ sub lei_q { return $self->fail(<<'') if @argv; no query allowed on command-line with --stdin - require PublicInbox::InputPipe; - PublicInbox::InputPipe::consume($self->{0}, \&qstr_add, $self); - return; + return $self->slurp_stdin(\&do_qry); } chomp(@argv) and $self->qerr("# trailing `\\n' removed"); $mset_opt{q_raw} = [ @argv ]; # copy -- cgit v1.2.3-24-ge0c7