added show sun
[spider.git] / perl / DXProt.pm
index 751daf04de0698fa1ff0f63cb2e7b15a6b59c5c6..d9b03a907d1768420574dcb9ffb51e19266cc983 100644 (file)
@@ -24,6 +24,7 @@ use DXProtout;
 use DXDebug;
 use Filter;
 use Local;
+use DXDb;
 
 use Carp;
 
@@ -670,11 +671,7 @@ sub normal
                        last SWITCH;
                }
                if ($pcno == 37 || $pcno == 44 || $pcno == 45 || $pcno == 46 || $pcno == 47) {
-                       if ($field[1] eq $main::mycall) {
-                               ;
-                       } else {
-                               $self->route($field[1], $line);
-                       }
+                       DXDb::process($self, $line);
                        return;
                }
                
@@ -699,9 +696,11 @@ sub normal
                                        # it's a reply, look in the ping list for this one
                                        my $ref = $pings{$field[2]};
                                        if ($ref) {
-                                               my $r = shift @$ref;
-                                               my $dxchan = DXChannel->get($r->{call});
-                                               $dxchan->send($dxchan->msg('pingi', $field[2], atime($main::systime), $main::systime - $r->{t})) if $dxchan;
+                                               while (@$ref) {
+                                                       my $r = shift @$ref;
+                                                       my $dxchan = DXChannel->get($r->{call});
+                                                       $dxchan->send($dxchan->msg('pingi', $field[2], atime($main::systime), $main::systime - $r->{t})) if $dxchan;
+                                               }
                                        }
                                }
                                
@@ -721,7 +720,7 @@ sub normal
         #        REBROADCAST!!!!
         #
         
-       if (!$self->{isolate}) {
+       unless ($self->{isolate}) {
                broadcast_ak1a($line, $self); # send it to everyone but me
        }
 }
@@ -744,7 +743,7 @@ sub process
                if ($t >= $dxchan->pc50_t + $DXProt::pc50_interval) {
                        $dxchan->send(pc50());
                        $dxchan->pc50_t($t);
-               }
+               } 
        }
        
        my $key;