From f71ce364c08e7e603d69ebfe0a94381a3adccb6c Mon Sep 17 00:00:00 2001 From: minima Date: Sat, 23 Dec 2000 15:01:56 +0000 Subject: [PATCH] fix routing on converted rcmd PCs --- Changes | 1 + perl/DXProt.pm | 16 +++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Changes b/Changes index 8e847cb5..75a719e4 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,6 @@ 23Dec00======================================================================= 1. don't route anything back down the channel it came from. +2. and, in the process, fix some silly errors in routing converted rcmd PCs 18Dec00======================================================================= 1. fix double printing of DB results 2. add new style filtering for WWV and WCY to complete the set diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 04f2aff7..e7bda8bc 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -848,7 +848,7 @@ sub normal } else { my $ref = DXUser->get_current($field[1]); if ($ref && $ref->is_clx) { - route($field[1], pc84($field[2], $field[1], $field[2], $field[3])); + $self->route($field[1], pc84($field[2], $field[1], $field[2], $field[3])); } else { $self->route($field[1], $line); } @@ -871,7 +871,7 @@ sub normal } else { my $ref = DXUser->get_current($field[1]); if ($ref && $ref->is_clx) { - route($field[1], pc85($field[2], $field[1], $field[2], $field[3])); + $self->route($field[1], pc85($field[2], $field[1], $field[2], $field[3])); } else { $self->route($field[1], $line); } @@ -1040,7 +1040,7 @@ sub normal if ($ref && $ref->is_clx) { $self->route($field[1], $line); } else { - route($field[1], pc34($field[2], $field[1], $field[4])); + $self->route($field[1], pc34($field[2], $field[1], $field[4])); } } return; @@ -1068,7 +1068,7 @@ sub normal if ($ref && $ref->is_clx) { $self->route($field[1], $line); } else { - route($field[1], pc35($field[2], $field[1], $field[4])); + $self->route($field[1], pc35($field[2], $field[1], $field[4])); } } return; @@ -1475,9 +1475,11 @@ sub route unless ($dxchan) { my $cl = DXCluster->get_exact($call); $dxchan = $cl->dxchan if $cl; - if ($dxchan eq $self) { - dbg('chan', "PCPROT: Trying to route back to source, dropped"); - return; + if (ref $dxchan) { + if (ref $self && $dxchan eq $self) { + dbg('chan', "PCPROT: Trying to route back to source, dropped"); + return; + } } } if ($dxchan) { -- 2.34.1