fix filter error handling and error counting
[spider.git] / cmd / accept / spots.pl
index 1c06dbe337783e0c3cee68732f758a7d8e85a857..eb0a010a347995445407fe31b9389d441aa81d0b 100644 (file)
@@ -3,31 +3,13 @@
 #
 # Copyright (c) 2000 Dirk Koopman G1TLH
 #
-# $Id$
+#
 #
 
 my ($self, $line) = @_;
-my $sort = 'accept';
-
-return (0, $self->msg('filter5')) unless $line;
-
-my ($r, $filter, $fno, $user, $s) = $Spot::filterdef->parse($self, $line);
-return (0, $filter) if $r;
-
-my $fn = "filter$fno";
-
-$filter->{$fn} = {} unless exists $filter->{$fn};
-$filter->{$fn}->{$sort} = {} unless exists $filter->{$fn}->{$sort};
-
-$filter->{$fn}->{$sort}->{user} = $user;
-my $ref = eval $s;
-return (0, $s, $@) if $@;
-
-$filter->{$fn}->{$sort}->{asc} = $s;
-$r = $filter->write;
-return (0, $r) if $r;
-
-$filter->{$fn}->{$sort}->{code} = $ref;
-$filter->install;
+my $type = 'accept';
+my $sort  = 'spots';
 
-return (0, $self->msg('filter1', $fno, $filter->{name})); 
+my ($r, $filter, $fno) = $Spot::filterdef->cmd($self, $sort, $type, $line);
+my $ok = $r ? 0 : 1;
+return ($ok, $r ? $filter : $self->msg('filter1', $fno, $filter->{name}));