dbg('chan', "LOOP: $field[1] came in on wrong channel");
return;
}
- if (DXChannel->get($field[1])) {
+ my $dxchan;
+ if (($dxchan = DXChannel->get($field[1])) && $dxchan != $self) {
dbg('chan', "LOOP: $field[1] connected locally");
return;
}
dbg('chan', "LOOP: $field[2] came in on wrong channel");
return;
}
- if (DXChannel->get($field[2])) {
+ my $dxchan;
+ if (($dxchan = DXChannel->get($field[2])) && $dxchan != $self) {
dbg('chan', "LOOP: $field[2] connected locally");
return;
}
# now check the call over
my $node = DXCluster->get_exact($call);
if ($node) {
- if (DXChannel->get($call)) {
+ my $dxchan;
+ if (($dxchan = DXChannel->get($call)) && $dxchan != $self) {
dbg('chan', "LOOP: $call connected locally");
}
if ($node->dxchan != $self) {
dbg('chan', "LOOP: $call come in on wrong channel");
return;
}
- if (DXChannel->get($call)) {
+ my $dxchan;
+ if (($dxchan = DXChannel->get($call)) && $dxchan != $self) {
dbg('chan', "LOOP: $call connected locally");
return;
}