X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FNNTP.pm;h=4b116a7d5b786af92daa95c2e4843aecfd46566f;hb=5422a844b7384c32b3532d128e15e0b50d24435b;hp=e86832107ca560db8f10dd834e801c4a5c5c42ed;hpb=b6974dbc81665427413020414a668ddb742e68f9;p=public-inbox.git diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index e8683210..4b116a7d 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -10,7 +10,6 @@ use fields qw(nntpd article rbuf ng long_res); use PublicInbox::Search; use PublicInbox::Msgmap; use PublicInbox::Git; -use PublicInbox::MID qw(mid2path); require PublicInbox::EvCleanup; use Email::Simple; use POSIX qw(strftime); @@ -481,10 +480,9 @@ find_mid: defined $mid or return $err; } found: - my $o = 'HEAD:' . mid2path($mid); my $bytes; - my $s = eval { Email::Simple->new($ng->git->cat_file($o, \$bytes)) }; - return $err unless $s; + my $s = eval { $ng->msg_by_mid($mid, \$bytes) } or return $err; + $s = Email::Simple->new($s); my $lines; if ($set_headers) { set_nntp_headers($s->header_obj, $ng, $n, $mid); @@ -713,8 +711,7 @@ sub hdr_xref ($$$) { # optimize XHDR Xref [range] for rtin sub search_header_for { my ($srch, $mid, $field) = @_; - my $smsg = $srch->lookup_message($mid) or return; - $smsg = PublicInbox::SearchMsg->load_doc($smsg->{doc}); + my $smsg = $srch->lookup_mail($mid) or return; $smsg->$field; } @@ -849,10 +846,9 @@ sub cmd_over ($;$) { my ($self, $range) = @_; if ($range && $range =~ /\A<(.+)>\z/) { my ($ng, $n) = mid_lookup($self, $1); - my $smsg = $ng->search->lookup_message($range) or + my $smsg = $ng->search->lookup_mail($range) or return '430 No article with that message-id'; more($self, '224 Overview information follows (multi-line)'); - $smsg = PublicInbox::SearchMsg->load_doc($smsg->{doc}); # Only set article number column if it's the current group my $self_ng = $self->{ng};