unrolled the checking in decode_input a bit
[spider.git] / perl / DXChannel.pm
index d975ca0d93d052bb0ba6c8cc4f07d26eb91f55f6..d566c177c05f07a1ac0b76eac0419db98934010e 100644 (file)
@@ -133,12 +133,6 @@ sub alloc
        $self->{lang} = $main::lang if !$self->{lang};
        $self->{func} = "";
 
-       # get the filters
-       $self->{spotfilter} = Filter::read_in('spots', $call, 0);
-       $self->{wwvfilter} = Filter::read_in('wwv', $call, 0);
-       $self->{wcyfilter} = Filter::read_in('wcy', $call, 0);
-       $self->{annfilter} = Filter::read_in('ann', $call, 0);
-
        bless $self, $pkg; 
        return $channels{$call} = $self;
 }
@@ -446,12 +440,16 @@ sub decode_input
        my $chcall = (ref $dxchan) ? $dxchan->call : "UN.KNOWN";
        
        # the above regexp must work
-       if (!defined $sort || !defined $call || !defined  $line ||
-                  (ref $dxchan && $call ne $chcall)) {
+       unless (defined $sort && defined $call && defined $line) {
                $data =~ s/([\x00-\x1f\x7f-\xff])/uc sprintf("%%%02x",ord($1))/eg;
-               dbg('chan', "DUFF Line from $chcall: $data");
+               dbg('err', "DUFF Line on $chcall: $data");
                return ();
        }
+
+       if(ref($dxchan) && $call ne $chcall) {
+               dbg('err', "DUFF Line come in for $call on wrong channel $chcall" );
+               return();
+       }
        
        return ($sort, $call, $line);
 }