diff options
author | Eric Wong (Contractor, The Linux Foundation) <e@80x24.org> | 2018-04-01 23:23:44 +0000 |
---|---|---|
committer | Eric Wong (Contractor, The Linux Foundation) <e@80x24.org> | 2018-04-01 23:25:13 +0000 |
commit | 1cb230c4d47c8ef5d03f0b8de2f8ad93c303d816 (patch) | |
tree | 20e1163ebdc39cb2e35fa32a4eedf0e8ae0b6632 /lib | |
parent | 537eb7ec8c0f8ebd6fa39807a08515ccd3c4be66 (diff) | |
download | public-inbox-1cb230c4d47c8ef5d03f0b8de2f8ad93c303d816.tar.gz |
We need to stop ghost messages from generating longer Message-IDs than Xapian can handle with terms.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/MID.pm | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/PublicInbox/MID.pm b/lib/PublicInbox/MID.pm index 117d3c42..c82e8401 100644 --- a/lib/PublicInbox/MID.pm +++ b/lib/PublicInbox/MID.pm @@ -65,12 +65,6 @@ sub mids ($) { push(@mids, $v); } } - foreach my $i (0..$#mids) { - next if length($mids[$i]) <= MAX_MID_SIZE; - warn "Message-ID: <$mids[$i]> too long, truncating\n"; - $mids[$i] = substr($mids[$i], 0, MAX_MID_SIZE); - } - uniq_mids(\@mids); } @@ -92,10 +86,14 @@ sub uniq_mids ($) { my ($mids) = @_; my @ret; my %seen; - foreach (@$mids) { - next if $seen{$_}; - push @ret, $_; - $seen{$_} = 1; + foreach my $mid (@$mids) { + if (length($mid) > MAX_MID_SIZE) { + warn "Message-ID: <$mid> too long, truncating\n"; + $mid = substr($mid, 0, MAX_MID_SIZE); + } + next if $seen{$mid}; + push @ret, $mid; + $seen{$mid} = 1; } \@ret; } |