my $ar;
if ($call ne $parent->call) {
if ($self->in_filter_route($r)) {
- $ar = $parent->add($r);
+ $ar = $parent->add($call, $ver, $flags);
push @rout, $ar if $ar;
+ } else {
+ next;
}
}
if ($r->version ne $ver || $r->flags != $flags) {
$r->version($ver);
- $r->flags(Route::here($here)|Route::conf($conf));
+ $r->flags($flags);
push @rout, $r unless $ar;
}
} else {
if ($self->in_filter_route($new)) {
my $r = $parent->add($call, $ver, $flags);
push @rout, $r;
+ } else {
+ next;
}
}
$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;
}
$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);