about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/NNTP.pm8
-rw-r--r--t/nntpd.t1
2 files changed, 5 insertions, 4 deletions
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('<nntp@example.com>'), 'HEAD OK');
         is_deeply($n->body(1), $n->body('<nntp@example.com>'), 'BODY OK');
+        is_deeply($n->nntpstat(1), '<nntp@example.com>', 'STAT');
         is($n->body(1)->[0], "This is a test message for El\xc3\xa9anor\n",
                 'body really matches');
         my $art = $n->article(1);