- # and update any information that needs to be done.
- my ($call, $is_node, $is_extnode, $here, $version, $build) = @{$ent[0]};
- if ($call && $is_node) {
- if ($call eq $main::mycall) {
- dbg("PCPROT: looped back on node entry, ignored") if isdbg('chanerr');
- return;
- }
- if ($is_extnode) {
- # this is only accepted from my "self"
- if (DXChannel::get($call) && $call ne $self->{call}) {
- dbg("PCPROT: locally connected node config for $call from other another node $self->{call}, ignored") if isdbg('chanerr');
+ # except in the case of 'A' or 'D' in which the $pcall is used
+ # otherwise use the node call and update any information
+ # that needs to be done.
+ my ($call, $is_node, $is_extnode, $here, $version, $build) = @{$ent[0]};
+ if (($sort eq 'A' || $sort eq 'D') && !$is_node) {
+ # parent is already set correctly
+ # this is to allow shortcuts for A and D records
+ # not repeating the origin call to no real purpose
+ ;
+ } else {
+ if ($call && $is_node) {
+ if ($call eq $main::mycall) {
+ dbg("PCPROT: $call looped back onto $main::mycall, ignored") if isdbg('chanerr');