X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FMID.pm;h=cd56f272613dc28551409593545eec5a2e80eb0e;hb=0ef5872cee83f07c9ae7afceb2e92257507dc3ca;hp=117d3c42f987e1fc2079cbccd2025f0176194085;hpb=23e03ed7126302e00e6a5ccb0f6f5fed61e58c96;p=public-inbox.git diff --git a/lib/PublicInbox/MID.pm b/lib/PublicInbox/MID.pm index 117d3c42..cd56f272 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,15 @@ sub uniq_mids ($) { my ($mids) = @_; my @ret; my %seen; - foreach (@$mids) { - next if $seen{$_}; - push @ret, $_; - $seen{$_} = 1; + foreach my $mid (@$mids) { + $mid =~ tr/\n\t\r//d; + 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; }