}
}
push @addnode, $node if $self->{state} =~ /^init/;
- push @delnode, $enode->remove_link($_, $self) for @dn;
+ push @delnode, $enode->remove_route($_, $self) for @dn;
push @deluser, $enode->del_user($_) for @du;
- push @addnode, $enode->add_link($_, $self) for @an;
+ push @addnode, $enode->add_route($_, $self) for @an;
push @adduser, $enode->add_user($_) for @au;
}
$self->route_pc17($origin, $line, $enode, @deluser) if @deluser;
$self->route_pc16($origin, $line, $enode, @adduser) if @adduser;
- unshift @_, $enode if $node->call ne $enode->call;
- $self->route_pc59($sort, $hexstamp, $ncall, @_) if @_;
+ unshift @_, $enode if $ncall ne $origin;
+ $self->route_pc59($origin, $line, $sort, $hexstamp, $origin, @_) if @_;
$_->delete for @deluser;
$_->delete for @delnode;
# broadcast to all other nodes that all the nodes connected to via me are gone
unless ($pc39flag && $pc39flag == 2) {
$self->route_pc21($main::mycall, undef, @rout) if @rout;
- $self->route_pc59('D', hexstamp(), $main::mycall, $node);
+ $self->route_pc59($main::mycall, "", 'D', hexstamp(), $main::mycall, $node);
}
# delete all the unwanted nodes
next unless $dxchan->isa('DXProt');
next if ($generate == \&pc16 || $generate==\&pc17) && !$dxchan->user->wantsendpc16;
if ($dxchan->{newroute}) {
- next if ($generate == \&pc19 || $generate==\&pc21);
+ next if ($generate == \&pc19 || $generate==\&pc21 ||
+ $generate == \&pc16 || $generate==\&pc17);
} else {
next if ($generate == \&pc19 || $generate==\&pc21) && !$dxchan->user->wantroutepc19;
next if ($generate == \&pc59);