From 8c4505904f84411442b8b855a111da1461b57c45 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 13 Jul 2019 21:42:46 +0000 Subject: nntp: support optional [range] arg in LISTGROUP RFC3977 6.1.2.2 LISTGROUP allows a [range] arg after [group], and supporting it allows NNTP support in neomutt to work again. Tested with NeoMutt 20170113 (1.7.2) on Debian stretch (oldstable) --- lib/PublicInbox/Msgmap.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'lib/PublicInbox/Msgmap.pm') diff --git a/lib/PublicInbox/Msgmap.pm b/lib/PublicInbox/Msgmap.pm index 5a89b85a..e74a3aef 100644 --- a/lib/PublicInbox/Msgmap.pm +++ b/lib/PublicInbox/Msgmap.pm @@ -211,11 +211,12 @@ ORDER BY num ASC LIMIT 1000 } sub msg_range { - my ($self, $beg, $end) = @_; + my ($self, $beg, $end, $cols) = @_; + $cols //= 'num,mid'; my $dbh = $self->{dbh}; my $attr = { Columns => [] }; - my $mids = $dbh->selectall_arrayref(<<'', $attr, $$beg, $end); -SELECT num,mid FROM msgmap WHERE num >= ? AND num <= ? + my $mids = $dbh->selectall_arrayref(<<"", $attr, $$beg, $end); +SELECT $cols FROM msgmap WHERE num >= ? AND num <= ? ORDER BY num ASC LIMIT 1000 $$beg = $mids->[-1]->[0] + 1 if @$mids; -- cgit v1.2.3-24-ge0c7