Failed open() should not be fatal; normalized full path file name.
This commit is contained in:
parent
598ca46506
commit
3308914195
1 changed files with 8 additions and 5 deletions
|
@ -42,9 +42,12 @@ MAIL: foreach my $dir (@msgDirs) {
|
||||||
opendir(MAILDIR, $dir) or die "Unable to open directory $dir for reading: $!";
|
opendir(MAILDIR, $dir) or die "Unable to open directory $dir for reading: $!";
|
||||||
while (my $file = readdir MAILDIR) {
|
while (my $file = readdir MAILDIR) {
|
||||||
next if -d $file; # skip directories
|
next if -d $file; # skip directories
|
||||||
my $existing_file = "$dir/$file";
|
my $fullFileName = "$dir/$file";
|
||||||
open(MAIL_MESSAGE, "<", $existing_file) or
|
|
||||||
die "unable to open $existing_file for reading: $!";
|
unless (open(MAIL_MESSAGE, "<", $fullFileName)) {
|
||||||
|
print STDERR "File, $fullFileName, appears to have disappeared during processing ($!).\n (Ignoring that fact, but counts may be off.)\n";
|
||||||
|
next MAIL;
|
||||||
|
}
|
||||||
|
|
||||||
my $header = new Mail::Header(\*MAIL_MESSAGE);
|
my $header = new Mail::Header(\*MAIL_MESSAGE);
|
||||||
my $fields = $header->header_hashref;
|
my $fields = $header->header_hashref;
|
||||||
|
@ -69,8 +72,8 @@ MAIL: foreach my $dir (@msgDirs) {
|
||||||
$dspamVal{Probability} >= $DSPAM_PROB_MIN) {
|
$dspamVal{Probability} >= $DSPAM_PROB_MIN) {
|
||||||
$countDeleted++;
|
$countDeleted++;
|
||||||
if (defined $COUNT_ONLY and $COUNT_ONLY) {
|
if (defined $COUNT_ONLY and $COUNT_ONLY) {
|
||||||
warn "unable to unlink $dir/$file : $!"
|
warn "unable to unlink $fullFileName: $!"
|
||||||
unless unlink("$dir/$file") == 1;
|
unless unlink("$fullFileName") == 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
close MAIL_MESSAGE;
|
close MAIL_MESSAGE;
|
||||||
|
|
Loading…
Add table
Reference in a new issue