From: epg <> Date: Mon, 2 Sep 2002 01:10:13 +0000 (+0000) Subject: I was using EX_TEMPFAIL for nearly every failure case, as if this were X-Git-Url: https://diplodocus.org/git/minc/commitdiff_plain/e0fd2b7eae13eced0ceeabba651c85fb3a664e75?hp=3323eb10e6fe1feb27b350ac61abe42c937800e6 I was using EX_TEMPFAIL for nearly every failure case, as if this were a delivery program. Comb the file for each incidence and use a better exit code if appropriate. (store_message): Handle not being able to run the mark command and being able to run it but having it fail separately. --- diff --git a/minc b/minc index 72c7ca1..29a02d7 100755 --- a/minc +++ b/minc @@ -269,7 +269,7 @@ sub mkfolder { if (-d $target or mkdir($target)) { next; } else { - err(&EX_TEMPFAIL, + err(&EX_OSERR, "Failed to create +$mhfolder ($component)"); } } @@ -282,7 +282,7 @@ sub getfiles { my @result; if (not opendir(DIR, $dir)) { - err(&EX_TEMPFAIL, "Failed opendir($dir)"); + err(&EX_OSERR, "Failed opendir($dir)"); } # Initialize $! to 0 (success) because stupid stupid Perl provides @@ -297,7 +297,7 @@ sub getfiles { } readdir(DIR); if ($! != 0) { - err(&EX_TEMPFAIL, "Failed readdir($dir)"); + err(&EX_OSERR, "Failed readdir($dir)"); } closedir(DIR); @@ -314,14 +314,14 @@ sub get_highest_msgnum { $dir = "$mh/$mhfolder"; if (not opendir(DIR, $dir)) { - err(&EX_TEMPFAIL, "Failed opendir($dir)"); + err(&EX_OSERR, "Failed opendir($dir)"); } $! = 0; @list = readdir(DIR); if ($! != 0) { - err(&EX_TEMPFAIL, "Failed readdir($dir)"); + err(&EX_OSERR, "Failed readdir($dir)"); } closedir(DIR); @@ -397,7 +397,7 @@ sub store_message { if ($run) { if (not rename($msg, $mhmsg)) { - err(&EX_TEMPFAIL, "Failed rename($msg, $mhmsg)"); + err(&EX_OSERR, "Failed rename($msg, $mhmsg)"); } # Mark each message as soon as we store it and bomb if that @@ -406,8 +406,10 @@ sub store_message { # all). if ($mhfolder ne 'SPAM') { $status = system("mark +$mhfolder $msgnum -sequence unseen -add"); - if (not (WIFEXITED($status) and WEXITSTATUS($status) == 0)) { - errx(&EX_TEMPFAIL, "Failed to mark message unseen"); + if (not WIFEXITED($status)) { + err(&EX_OSERR, "Failed to run mark"); + } elsif (WEXITSTATUS($status) == 0) { + errx(&EX_SOFTWARE, "Failed to mark message unseen."); } } } @@ -478,7 +480,7 @@ sub is_spam { if ($run) { if (unlink($err) != 1) { - err(&EX_TEMPFAIL, "Failed unlink($err)"); + err(&EX_OSERR, "Failed unlink($err)"); } } } elsif (-f $sig) { @@ -490,7 +492,7 @@ sub is_spam { if ($run) { if (unlink($sig) != 1) { - err(&EX_TEMPFAIL, "Failed unlink($sig)"); + err(&EX_OSERR, "Failed unlink($sig)"); } } } @@ -498,7 +500,7 @@ sub is_spam { if ($run) { $status = system("razor-check < $msg"); if (not WIFEXITED($status)) { - err(&EX_TEMPFAIL, "Failed to run razor-check < $msg"); + err(&EX_OSERR, "Failed to run razor-check < $msg"); } elsif (WEXITSTATUS($status) == 0) { return 1; } else {