From: epg <> Date: Sun, 25 Aug 2002 18:12:02 +0000 (+0000) Subject: New error handling based on . X-Git-Url: https://diplodocus.org/git/minc/commitdiff_plain/64e88de644533ce5cfe817eb0886c67716b57030 New error handling based on . (_errprint): New function, handles printing of error messages for err and errx. (err): err(3) for Perl. (errx): errx(3) for Perl. (mkfolder): (store_message): (is_spam): Use err instead of die. --- diff --git a/minc b/minc index e4e6ce7..3cbd090 100755 --- a/minc +++ b/minc @@ -197,6 +197,35 @@ sub log_headers { ############################################################################### # Utility procedures +sub _errprint { + printf("%s:%s", __FILE__, __LINE__); + + if (@_) { + print(': '); + foreach (@_) { + print; + } + } +} + +sub err { + my $ex = shift; + + _errprint(@_); + print(": $!\n"); + + exit($ex); +} + +sub errx { + my $ex = shift; + + _errprint(@_); + print("\n"); + + exit($ex); +} + sub mkfolder { my $mhfolder = shift; my $folder; @@ -213,7 +242,8 @@ sub mkfolder { if (-d $target or mkdir($target)) { next; } else { - die("Failed to create +$mhfolder ($component): $!\n"); + err(&EX_TEMPFAIL, + "Failed to create +$mhfolder ($component)"); } } } @@ -242,7 +272,7 @@ sub store_message { if ($run) { if (not rename($msg, $mhmsg)) { - die("Rename failed: $!\n"); + err(&EX_TEMPFAIL, "Failed rename($msg, $mhmsg)"); } if ($mhfolder ne 'SPAM') { @@ -319,7 +349,7 @@ sub is_spam { logerr("$err: $message: $!"); if (unlink($err) != 1) { - die("Failed unlink($err): $!\n"); + err(&EX_TEMPFAIL, "Failed unlink($err)"); } } elsif (-f $sig) { # This is supposed to be a signature created with razor-check @@ -329,7 +359,7 @@ sub is_spam { # find and proceed with full razor-check mode. if (unlink($sig) != 1) { - die("Failed unlink($sig): $!\n"); + err(&EX_TEMPFAIL, "Failed unlink($sig)"); } }