]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Spamcheck/Spamc.pm
update copyrights for 2021
[public-inbox.git] / lib / PublicInbox / Spamcheck / Spamc.pm
index d9cc47e33483cb758d8d4b77918e1be55279f63b..d2b6429c46e44e8f660c354458ef5cd0fa885603 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2016-2019 all contributors <meta@public-inbox.org>
+# Copyright (C) 2016-2021 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 
 # Default spam filter class for wrapping spamc(1)
@@ -23,19 +23,11 @@ sub spamcheck {
 
        my $rdr = { 0 => _msg_to_fh($self, $msg) };
        my ($fh, $pid) = popen_rd($self->{checkcmd}, undef, $rdr);
-       my $r;
        unless (ref $out) {
                my $buf = '';
                $out = \$buf;
        }
-again:
-       do {
-               $r = sysread($fh, $$out, 65536, length($$out));
-       } while (defined($r) && $r != 0);
-       unless (defined $r) {
-               goto again if $!{EINTR};
-               die "read failed: $!";
-       }
+       $$out = do { local $/; <$fh> };
        close $fh or die "close failed: $!";
        waitpid($pid, 0);
        ($? || $$out eq '') ? 0 : 1;