]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/OverIdx.pm
update copyrights for 2021
[public-inbox.git] / lib / PublicInbox / OverIdx.pm
index c8630ddb3da72a8cf490ee2b6be43c06512b6a05..0a4eb39e0a9d112260eb417c035846c5bac5e7e4 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2018-2020 all contributors <meta@public-inbox.org>
+# Copyright (C) 2018-2021 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 
 # for XOVER, OVER in NNTP, and feeds/homepage/threads in PSGI
@@ -284,6 +284,8 @@ sub add_overview {
        $smsg->{lines} = $eml->body_raw =~ tr!\n!\n!;
        my $mids = mids_for_index($eml);
        my $refs = parse_references($smsg, $eml, $mids);
+       $mids->[0] //= $smsg->{mid} //= $eml->{-lei_fake_mid};
+       $smsg->{mid} //= '';
        my $subj = $smsg->{subject};
        my $xpath;
        if ($subj ne '') {
@@ -473,10 +475,14 @@ sub dbh_close {
 
 sub create {
        my ($self) = @_;
-       unless (-r $self->{filename}) {
+       my $fn = $self->{filename} // do {
+               Carp::confess('BUG: no {filename}') unless $self->{dbh};
+               return;
+       };
+       unless (-r $fn) {
                require File::Path;
                require File::Basename;
-               File::Path::mkpath(File::Basename::dirname($self->{filename}));
+               File::Path::mkpath(File::Basename::dirname($fn));
        }
        # create the DB:
        PublicInbox::Over::dbh($self);