- if ($self->{routefilter}) {
- for (; @_ && $no; $no--) {
- my $r = shift;
- ($filter, $hops) = $self->{routefilter}->it($self->{call}, $self->{dxcc}, $self->{itu}, $self->{cq}, $r->call, $r->dxcc, $r->itu, $r->cq);
- push @rin, $r if $filter;
+ for (; @_ && $no; $no--) {
+ my $r = shift;
+
+ if ($self->{routefilter}) {
+ $filter = undef;
+ if ($r) {
+ ($filter, $hops) = $self->{routefilter}->it($self->{call}, $self->{dxcc}, $self->{itu}, $self->{cq}, $r->call, $r->dxcc, $r->itu, $r->cq);
+ if ($filter) {
+ push @rin, $r;
+ } else {
+ dbg('DXPROT: Rejected by filter') if isdbg('chanerr');
+ }
+ } else {
+ dbg("was sent a null value") if isdbg('chanerr');
+ }
+ } else {
+ push @rin, $r;