lib/PublicInbox/NNTP.pm | 8 ++++---- t/nntpd.t | 1 + diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 87ddf7a4af83312e41edc775e0794066d73e6ce3..595a4046d4fccff1249784aca9d022c656cb9e08 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -581,11 +581,11 @@ } 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 aaf6661deaab8cbd88af8fe454adf4abc690bfa0..0b4a2636ac9d28ca925c00ab9b018f9f12eca687 100644 --- a/t/nntpd.t +++ b/t/nntpd.t @@ -206,6 +206,7 @@ "XOVER by article works"); 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);