From d89c8c4486b2347eb6570fe1aeaf4c6efddca29f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 23 Mar 2021 11:48:04 +0000 Subject: net_reader: nntp_each: pass keywords as `undef' We'll use `undef' to denote keywords are unknown/unsupported, instead of an empty arrayref. This will let callers use the same callback and args for imap_each. Passing an empty arrayref to set_eml in LeiStore causes keywords to be cleared completely, which is not desired behavior when "lei import" is importing already-seen messages from NNTP. --- lib/PublicInbox/NetReader.pm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'lib/PublicInbox/NetReader.pm') diff --git a/lib/PublicInbox/NetReader.pm b/lib/PublicInbox/NetReader.pm index bc211029..6a52b479 100644 --- a/lib/PublicInbox/NetReader.pm +++ b/lib/PublicInbox/NetReader.pm @@ -554,11 +554,10 @@ sub _nntp_fetch_all ($$$) { return if $l_art >= $end; # nothing to do $beg = $l_art + 1; } - my ($err, $art); + my ($err, $art, $last_art, $kw); # kw stays undef, no keywords in NNTP unless ($self->{quiet}) { warn "# $uri fetching ARTICLE $beg..$end\n"; } - my $last_art; my $n = $self->{max_batch}; for ($beg..$end) { last if $self->{quit}; @@ -582,7 +581,7 @@ sub _nntp_fetch_all ($$$) { $raw = join('', @$raw); $raw =~ s/\r\n/\n/sg; my ($eml_cb, @args) = @{$self->{eml_each}}; - $eml_cb->($uri, $art, [], PublicInbox::Eml->new(\$raw), @args); + $eml_cb->($uri, $art, $kw, PublicInbox::Eml->new(\$raw), @args); $last_art = $art; } run_commit_cb($self); -- cgit v1.2.3-24-ge0c7