#
# Sophos Anti Virus
#

if ($sophos) {
    do_log(2,"Using $sophos");
    $ENV{SAV_IDE} = $sophos_ide_path if ($sophos_ide_path);
    chop($output = `$sophos -nb -f -all -rec -ss -sc -archive $TEMPDIR/parts`);
    $errval = retcode($?);
    do_log(2,$output);
    if ($errval == 0) {		# no errors, no viruses found
	$scanner_errors = 0;
    } elsif ($errval == 3) {	# no errors, viruses discovered
	$scanner_errors = 0;
	my $loutput = $output;
	$loutput =~ s/Virus fragment/Virus/g;
	@virusname = ($loutput =~ /Virus (.+) found/g);
	return 1;  # 'true' indicates virus found and stops further checking
    } else {	# interrupted or some error preventing further execution
	do_log(0,"Virus scanner failure: $sophos (error code: $errval)");
    }
}
