make sure there is a route structure available for PC24 and 41
[spider.git] / perl / DXProt.pm
index 99c2ef82a674362f5c1aa34df27d165553c34efa..66d29f2fc6d99a982e915c57ec56a0cc86d7b857 100644 (file)
@@ -654,6 +654,8 @@ sub normal
                                                if ($self->in_filter_route($r)) {
                                                        $ar = $parent->add($call, $ver, $flags);
                                                        push @rout, $ar if $ar;
+                                               } else {
+                                                       next;
                                                }
                                        }
                                        if ($r->version ne $ver || $r->flags != $flags) {
@@ -668,6 +670,8 @@ sub normal
                                    if ($self->in_filter_route($new)) {
                                                my $r = $parent->add($call, $ver, $flags);
                                                push @rout, $r;
+                                       } else {
+                                               next;
                                        }
                                }
 
@@ -787,7 +791,7 @@ sub normal
                        $ref->here($field[2]) if $ref;
                        
                        # input filter if required
-                       return unless $self->in_filter_route($ref);
+                       return unless $self->in_filter_route($ref || Route::new($call));
 
                        $self->route_pc24($ref, $field[3]) if $ref && !eph_dup($line);
                        return;
@@ -927,7 +931,7 @@ sub normal
                        }
                        $user->lastoper($main::systime);   # to cut down on excessive for/opers being generated
                        $user->put;
-                       my $ref = Route::get($call);
+                       my $ref = Route::get($call) || Route->new($call);
 
                        # input filter if required
                        return unless $self->in_filter_route($ref);