X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FNNTP.pm;h=fca632e2d484c425a5b6f49af64b8f7f9b759d4c;hb=61550976b8ff52ba3e621caa5b9c450bf34801ff;hp=1f31b4a5baae9685653d9a9d67cdf0ecc1f4ce90;hpb=a18fb89880ca33ae9dfbf751014157b6756fd88a;p=public-inbox.git diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 1f31b4a5..fca632e2 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -646,6 +646,14 @@ sub long_response ($$;@) { undef; } +sub hdr_msgid_range_i { + my ($self, $beg, $end) = @_; + my $r = $self->{ng}->mm->msg_range($beg, $end); + @$r or return; + more($self, join("\r\n", map { "$_->[0] <$_->[1]>" } @$r)); + 1; +} + sub hdr_message_id ($$$) { # optimize XHDR Message-ID [range] for slrnpull. my ($self, $xhdr, $range) = @_; @@ -657,17 +665,8 @@ sub hdr_message_id ($$$) { # optimize XHDR Message-ID [range] for slrnpull. $range = $self->{article} unless defined $range; my $r = get_range($self, $range); return $r unless ref $r; - my $mm = $self->{ng}->mm; - my ($beg, $end) = @$r; more($self, $xhdr ? r221 : r225); - long_response($self, sub { - my $r = $mm->msg_range($beg, $end); - @$r or return; - more($self, join("\r\n", map { - "$_->[0] <$_->[1]>" - } @$r)); - 1; - }); + long_response($self, \&hdr_msgid_range_i, @$r); } }