sub new
{
my $self = DXChannel::alloc(@_);
+
+ # add this node to the table, the values get filled in later
+ my $pkg = shift;
+ my $call = shift;
+ $main::routeroot->add($call) if $call ne $main::mycall;
+
return $self;
}
# send info to all logged in thingies
$self->tell_login('loginn');
- # add this node to the table, the values get filled in later
- $main::routeroot->add($call);
-
Log('DXProt', "$call connected");
}
# and are not themselves isolated, this to make sure that isolated nodes
# don't appear outside of this node
my @dxchan = grep { $_->call ne $main::mycall && $_->call ne $self->{call} } DXChannel::get_all_nodes();
- @localnodes = map { Route::Node::get($_->{call}) } @dxchan if @dxchan;
+ @localnodes = map { Route::Node::get($_->{call}) or die "connot find node $_->{call}" } @dxchan if @dxchan;
my @intcalls = map { $_->nodes } @localnodes if @localnodes;
my $ref = Route::Node::get($self->{call});
my @rnodes = $ref->nodes;
for my $n (@intcalls) {
- push @remotenodes, Route::Node::get($n) if grep $n ne $_, @rnodes;
+ push @remotenodes, Route::Node::get($n) unless grep $n eq $_, @rnodes;
}
unshift @localnodes, $main::routeroot;
}