user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
* [PATCH] nntp: fix STAT command
@ 2020-08-01 20:16 Eric Wong
  0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2020-08-01 20:16 UTC (permalink / raw)
  To: meta

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")
---
 lib/PublicInbox/NNTP.pm | 8 ++++----
 t/nntpd.t               | 1 +
 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);

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-08-01 20:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-01 20:16 [PATCH] nntp: fix STAT command Eric Wong

Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).