moan about and then delete empty message files
[spider.git] / perl / DXMsg.pm
index 5c990177330ddc26c55fd20ccd7a0fcf242e49b1..879775f3596f9f08bb9afa0f1ffb605100412938 100644 (file)
@@ -512,6 +512,11 @@ sub read_msg_header
        }
        $size = -s $fn;
        $line = <$file>;                        # first line
+       if ($size == 0 || !$line) {
+           dbg('err', "Empty $fn $!");
+           Log('err', "Empty $fn $!");
+               return undef;
+       }
        chomp $line;
        $size -= length $line;
        if (! $line =~ /^===/o) {
@@ -758,7 +763,12 @@ sub init
                next unless /^m\d+$/o;
                
                $ref = read_msg_header("$msgdir/$_");
-               next unless $ref;
+               unless ($ref) {
+                       dbg('err', "Deleting $_");
+                       Log('err', "Deleting $_");
+                       unlink "$msgdir/$_";
+                       next;
+               }
                
                # delete any messages to 'badmsg.pl' places
                if (grep $ref->{to} eq $_, @badmsg) {