X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=712b478539c79973e47895fdcfc17a98a97e5952;hb=e228aafbb2f9eee36802d209f5d3bb3eef8e91fc;hp=e4e0aa49db77409adf7ee3cb097dffbf492f2ec7;hpb=a6c17071301a48e8d82732fa2dbef3a1bc3691af;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index e4e0aa49..712b4785 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -1238,6 +1238,12 @@ sub send_route for (; @_ && $no; $no--) { my $r = shift; + # don't send messages with $self's call in back to them + if ($r->call eq $self->{call}) { + dbg("PCPROT: trying to send $self->{call} back itself") if isdbg('chanerr'); + next; + } + if (!$self->{isolate} && $self->{routefilter}) { $filter = undef; if ($r) { @@ -1314,8 +1320,9 @@ sub broadcast_route_nopc9x next if $origin eq $dxchan->{call}; # don't route some from this call back again. next unless $dxchan->isa('DXProt'); next if $dxchan->{do_pc9x}; - next if ($generate == \&pc16 || $generate==\&pc17) && !$dxchan->user->wantsendpc16; - + if ($generate == \&pc16 || $generate==\&pc17) { + next unless $dxchan->user->wantsendpc16; + } $dxchan->send_route($origin, $generate, @_); } }