From: Eric Wong Date: Sat, 1 Aug 2020 20:16:58 +0000 (+0000) Subject: nntp: fix STAT command X-Git-Tag: v1.6.0~186 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=3e5b497d0f7d415140da2caabf267d62711b83b4 nntp: fix STAT command The return value of art_lookup changed but this command wasn't updated since it wasn't tested. Fixes: 0e6ceff37fc38f28 ("nntp: support slow blob retrievals") --- diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 87ddf7a4..595a4046 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -581,11 +581,11 @@ sub cmd_body ($;$) { sub cmd_stat ($;$) { my ($self, $art) = @_; - my $r = art_lookup($self, $art); - return $r unless ref $r; - my ($n, $mid) = @$r; + my $smsg = art_lookup($self, $art); # art may be msgid + return $smsg unless ref $smsg; + $art = $smsg->{num}; set_art($self, $art); - "223 $n <$mid> article retrieved - request text separately"; + "223 $art <$smsg->{mid}> article retrieved - request text separately"; } sub cmd_ihave ($) { '435 article not wanted - do not send it' } diff --git a/t/nntpd.t b/t/nntpd.t index aaf6661d..0b4a2636 100644 --- a/t/nntpd.t +++ b/t/nntpd.t @@ -206,6 +206,7 @@ EOF is_deeply($n->head(1), $n->head(''), 'HEAD OK'); is_deeply($n->body(1), $n->body(''), 'BODY OK'); + is_deeply($n->nntpstat(1), '', 'STAT'); is($n->body(1)->[0], "This is a test message for El\xc3\xa9anor\n", 'body really matches'); my $art = $n->article(1);