-###############################################################################
-# Spam handling, sorting, etc.
-
-sub preprocess {
- my @msglist = @_;
- my @baton;
- my $msg;
- my $i;
- my $st;
- my @result;
-
- @baton = spam_start_hook();
-
- foreach $msg (@msglist) {
- printf('%sChecking for spam... %6d/%d',
- "\r", ++$i, scalar(@msglist));
- if ($printfilenames) {
- print($msg);
- }
- if (spam_check($msg, @baton)) {
- print(" SPAM\n");
- store_message($msg, 'SPAM');
- } else {
- push(@result, $msg);
- }
- }
- print("\nDone: ", scalar(@result), " survivors\n");
-
- spam_stop_hook(@baton);
-
- return (map { $_->[1] }
- sort { $a->[0] <=> $b->[0] }
- map {
- if (not ($st = stat($_))) {
- die("stat($_): $!");
- }
- [$st->mtime, $_]
- }
- @result);
-}
-