X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FInbox.pm;h=47b863094bae63964ff97afc84657473e5c8c75f;hb=6efc0df8d3e00da0257b131e96f74d18fce290ab;hp=309775146fd1b015383c462e6178650f60dad5b7;hpb=7b5ea579e6a9490a4a38958acac8e078d805eec7;p=public-inbox.git diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm index 30977514..47b86309 100644 --- a/lib/PublicInbox/Inbox.pm +++ b/lib/PublicInbox/Inbox.pm @@ -270,12 +270,10 @@ sub msg_by_path ($$;$) { sub msg_by_smsg ($$;$) { my ($self, $smsg, $ref) = @_; - return unless defined $smsg; # ghost - - # backwards compat to fallback to msg_by_mid - # TODO: remove if we bump SCHEMA_VERSION in Search.pm: - defined(my $blob = $smsg->{blob}) or - return msg_by_path($self, mid2path($smsg->mid), $ref); + # ghosts may have undef smsg (from SearchThread.node) or + # no {blob} field (from each_smsg_by_mid) + return unless defined $smsg; + defined(my $blob = $smsg->{blob}) or return; my $str = git($self)->cat_file($blob, $ref); $$str =~ s/\A[\r\n]*From [^\r\n]*\r?\n//s if $str;