- my @intcalls = map { $_->nodes } @localnodes if @localnodes;
- my $ref = Route::Node::get($self->{call});
- my @rnodes = $ref->nodes;
- for my $node (@intcalls) {
- push @remotenodes, Route::Node::get($node) unless grep $node eq $_, @rnodes;
+ $self->send_route($main::mycall, \&pc19, scalar(@localnodes)+1, $main::routeroot, @localnodes);
+
+ my $node;
+ if ($self->user->wantpc90) {
+ for $node (@localnodes) {
+ my @nodes = map {my $r = Route::Node::get($_); $r ? $r : ()} $node->nodes;
+ $self->send_route($node->call, \&pc19, scalar(@nodes)+1, @nodes);
+ for my $r (@nodes) {
+ push @remotenodes, $r unless grep $r eq $_, @remotenodes;
+ }
+ }
+ } else {
+ my @rawintcalls = map { $_->nodes } @localnodes if @localnodes;
+ my @intcalls;
+ for $node (@rawintcalls) {
+ push @intcalls, $node unless grep $node eq $_, @intcalls;
+ }
+ my $ref = Route::Node::get($self->{call});
+ my @rnodes = $ref->nodes;
+ for $node (@intcalls) {
+ push @remotenodes, Route::Node::get($node) unless grep $node eq $_, @rnodes, @remotenodes;
+ }
+ $self->send_route($main::mycall, \&pc19, scalar(@remotenodes), @remotenodes);