}
sub log_headers {
- my %headers = @_;
+ my %headers = %{(shift)};
# For an explanation of the %headers structure, see the
# get_headers function below.
}
close(MSG);
- return %headers;
+ return \%headers;
}
\f
sub find_mh_folder {
my $msg = shift;
- my %headers = @_;
+ my %headers = %{(shift)};
my $filterref;
my @filter;
my $header;
for $msg (@_) {
($msg eq '.' or $msg eq '..') and next;
- my %headers = get_headers($msg);
- log_headers(%headers);
+ my $headers = get_headers($msg);
+ log_headers($headers);
undef($mhfolder);
for my $hook (@filter_hooks) {
- my $result = $hook->(\%batons, \%headers, $msg);
+ my $result = $hook->(\%batons, $headers, $msg);
defined($result) and ($mhfolder = $result);
}
- defined($mhfolder) or ($mhfolder = find_mh_folder($msg, %headers));
+ defined($mhfolder) or ($mhfolder = find_mh_folder($msg, $headers));
$msgnum = store_message($msg, $mhfolder);
$folders{$mhfolder}++;
if ($mhfolder eq 'SPAM') {
$spam++;
- $SPAM{$msgnum} = [\%headers, undef];
+ $SPAM{$msgnum} = [$headers, undef];
} else {
$saved++;
- print(scan_line(\%headers, $mhfolder, $msgnum, $nf, $nm, $nF, $ns),
+ print(scan_line($headers, $mhfolder, $msgnum, $nf, $nm, $nF, $ns),
"\n");
}
for my $hook (@post_store_hooks) {
- $hook->(\%batons, \%headers, $mhfolder, $msgnum);
+ $hook->(\%batons, $headers, $mhfolder, $msgnum);
}
if ($tty) {
}
sub scan_spam {
- my ($msgnum, %header, $tuple, $msg);
+ my ($msgnum, $header, $tuple, $msg);
# Unlike filter_mail, we don't need to print the folder name.
# Calculate how many columns would be allocated to it...
$tuple = $SPAM{$msgnum};
if (defined($tuple->[0])) {
# Filed by filter_mail, so we have the header.
- %header = %{$tuple->[0]};
+ $header = %{$tuple->[0]};
} elsif (defined($tuple->[1])) {
# Filed by maildir_spam, so we don't have the header.
if ($run) {
# because maildir_spam did chdir(Maildir/spam/new).
$msg = $tuple->[1];
}
- %header = get_headers($msg);
+ $header = get_headers($msg);
} else {
print(STDERR
"BUG: corrupt SPAM tuple, neither element defined",
" for message $msgnum\n");
next;
}
- print(scan_line(\%header, '', $msgnum, 0, $nm, $nF, $ns),
+ print(scan_line($header, '', $msgnum, 0, $nm, $nF, $ns),
"\n");
}
}