]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/SearchMsg.pm
searchmsg: allow lines (and bytes) to be zero
[public-inbox.git] / lib / PublicInbox / SearchMsg.pm
index 53882f73029c2c2712b69513b8820aa2c069b855..84fe48025e564be6b81325f1fa43a6d206d1f124 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2015-2019 all contributors <meta@public-inbox.org>
+# Copyright (C) 2015-2020 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 # based on notmuch, but with no concept of folders, files or flags
 #
@@ -42,8 +42,8 @@ sub to_doc_data {
                $self->cc,
                $oid,
                $mid0,
-               $self->{bytes} || '',
-               $self->{lines} || ''
+               $self->{bytes} // '',
+               $self->{lines} // ''
        );
 }
 
@@ -92,10 +92,11 @@ sub psgi_cull ($) {
 }
 
 # Only called by PSGI interface, not NNTP
-sub load_doc {
-       my ($class, $doc) = @_;
-       my $self = bless {}, $class;
-       psgi_cull(load_expand($self, $doc));
+sub from_mitem {
+       my ($mitem, $srch) = @_;
+       return $srch->retry_reopen(\&from_mitem, $mitem) if $srch;
+       my $self = bless {}, __PACKAGE__;
+       psgi_cull(load_expand($self, $mitem->get_document));
 }
 
 # :bytes and :lines metadata in RFC 3977