You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by pa...@apache.org on 2005/01/22 04:48:22 UTC
svn commit: r125997 - /spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm
Author: parker
Date: Fri Jan 21 19:48:20 2005
New Revision: 125997
URL: http://svn.apache.org/viewcvs?view=rev&rev=125997
Log:
Bug 4075: use each instead of grep/keys to avoid reading large chunks of the autowhitelist into memory
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm
Url: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm?view=diff&rev=125997&p1=spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm&r1=125996&p2=spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm&r2=125997
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm Fri Jan 21 19:48:20 2005
@@ -167,11 +167,12 @@
# try to delete any per-IP entries for this addr as well.
# could be slow...
my $mailaddr = $1;
- my @keys = grep { /^\Q${mailaddr}\E\|ip=\d+\.\d+$/ }
- keys %{$self->{accum}};
- foreach my $key (@keys) {
- delete $self->{accum}->{$key};
- delete $self->{accum}->{$key.'|totscore'};
+
+ while (my ($key, $value) = each %{$self->{accum}}) {
+ if ($key =~ /^\Q${mailaddr}\E\|ip=\d+\.\d+$/) {
+ delete $self->{accum}->{$key};
+ delete $self->{accum}->{$key.'|totscore'};
+ }
}
}
}