if ($to ne $field[7]) {
$to = $field[7];
$node = Route::Node::get($to);
- $dxchan = $node->dxchan;
- if ($node->dxchan && $dxchan->is_clx) {
- route(undef, $to, pc84($main::mycall, $to, $main::mycall, $cmd));
- } else {
- route(undef, $to, pc34($main::mycall, $to, $cmd));
+ if ($node) {
+ $dxchan = $node->dxchan;
+ if ($dxchan && $dxchan->is_clx) {
+ route(undef, $to, pc84($main::mycall, $to, $main::mycall, $cmd));
+ } else {
+ route(undef, $to, pc34($main::mycall, $to, $cmd));
+ }
}
}
$user->lastoper($main::systime);
my $node = Route::Node::get($self->{call});
my @rout;
for ($node->nodes) {
- push @rout, $_->del_node;
+ my $r = Route::Node::get($_);
+ push @rout, $r->del_node if $r;
}
$self->route_pc21(@rout, $node);
$self->send_local_config();
$node->flags(Route::here($here)|Route::conf($conf));
push @rout, $node;
} elsif ($node->call ne $call) {
+ next if $call eq $main::mycall || $call eq $self->{call};
+
my $r = $node->add($call, $ver, Route::here($here)|Route::conf($conf));
push @rout, $r if $r;
}
$routeit = adjust_hops($self, $line); # adjust its hop count by node name
next unless $routeit;
}
- $self->send($routeit) unless $self->{isolate} || $self->{isolate};
+ $self->send($routeit);
}
}
}