fix routing on converted rcmd PCs
authorminima <minima>
Sat, 23 Dec 2000 15:01:56 +0000 (15:01 +0000)
committerminima <minima>
Sat, 23 Dec 2000 15:01:56 +0000 (15:01 +0000)
Changes
perl/DXProt.pm

diff --git a/Changes b/Changes
index 8e847cb5d6943cf6468a1d1670f104867b3d2fad..75a719e4e1484eb6e55c1ceeefb7540ad0f1a1ea 100644 (file)
--- 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
index 04f2aff75d7efcc0b3bab3990e7ccc3374e0c2e4..e7bda8bc5f5fe9ce82c1b9660813da17d3fea980 100644 (file)
@@ -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) {