my($err,$isspam)=@_;
$err=$? if !defined $err;
- return undef() if !WIFEXITED($?);
- return undef() if WIFSIGNALED($?);
- return undef() if WIFSTOPPED($?);
- return $isspam||1 if WEXITSTATUS($?); # is-spam
- return 0; # not-spam
+ return undef() if !WIFEXITED($?);
+ return undef() if WIFSIGNALED($?);
+ return undef() if WIFSTOPPED($?);
+ return 0 if !WEXITSTATUS($?);
+ return $isspam||1 if 1==WEXITSTATUS($?); # isspam
+ cluck "Possible FIXME or your system is broken (WEXITSTATUS==".WEXITSTATUS($?).")";
+ return 0; # simulate as not spam
}
# return: true (error-message or "1") if is spam
{
my($cmd)=@_;
- $cmd||="$HOME/bin/spamassassin --exit-code";
- # spamassassin has exit code 1 if IS spam, code 0 if NOT spam
+ $cmd||="$HOME/bin/spamassassin --exit-code 1";
+ # spamassassin has the specified exit code if IS spam, code 0 if NOT spam
+ # See &_spamchildcode for the code 1.
local *CHILD;
local $SIG{"PIPE"}=sub { warn "spamassassin gave me SIGPIPE: broken pipe"; };
# prevent Razor2's: Can't call method "log" on unblessed reference at Razor2/Client/Agent.pm line 212.