added routing for PC26/27 and also put the correct callsign on the end
authordjk <djk>
Mon, 31 May 1999 21:26:41 +0000 (21:26 +0000)
committerdjk <djk>
Mon, 31 May 1999 21:26:41 +0000 (21:26 +0000)
Changes
cmd/who.pl
perl/DXProt.pm
perl/Spot.pm

diff --git a/Changes b/Changes
index 4bad93c42c067629ab64f4cde1af3e08af7a1472..17dfc5b2887ff9f05ec950859f3ecbc87bd4c644 100644 (file)
--- a/Changes
+++ b/Changes
@@ -7,6 +7,7 @@ connecting node's privilege level).
 4. Removed a warning from client.pl
 5. routed external DB commands and drop them (for now) locally
 6. routed external mail commands (ie those addressed elsewhere)
+7. routed external PC26/27 lines 
 25May99=======================================================================
 1. try to make the lastin value correct even for local users
 2. got rid of the stupid bug that failed to print out the offline message
index 34e2d0a4369b354a2f80865373d49978c84615ba..d001d9c3efde80d71364dd02fec30a114293a877 100644 (file)
@@ -17,7 +17,7 @@ foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all ) {
     my $call = $dxchan->call();
        my $t = cldatetime($dxchan->user->lastin);
        my $sort = $dxchan->is_ak1a() ? "NODE" : "USER";
-       my $name = $dxchan->user->name;
+       my $name = $dxchan->user->name || " ";
        push @out, sprintf "%10s $sort $t $name", $call;
 }
 
index d8c8e899580ae4c546f4a8c8e37c9c4484b258bd..aa848eb72eabca27461d215621a02f46e95db387 100644 (file)
@@ -178,6 +178,14 @@ sub normal
                }
                
                if ($pcno == 11 || $pcno == 26) { # dx spot
+
+                       # route 'foreign' pc26s 
+                       if ($pcno == 26) {
+                               if ($field[7] ne $main::mycall) {
+                                       route($field[7], $line);
+                                       return;
+                               }
+                       }
                        
                        # if this is a 'nodx' node then ignore it
                        last SWITCH if grep $field[7] =~ /^$_/,  @DXProt::nodx_node;
@@ -441,6 +449,15 @@ sub normal
                }
                
                if ($pcno == 23 || $pcno == 27) { # WWV info
+                       
+                       # route 'foreign' pc27s 
+                       if ($pcno == 27) {
+                               if ($field[8] ne $main::mycall) {
+                                       route($field[8], $line);
+                                       return;
+                               }
+                       }
+
                        # do some de-duping
                        my $d = cltounix($field[1], sprintf("%02d18Z", $field[2]));
                        my $sfi = unpad($field[3]);
@@ -495,7 +512,7 @@ sub normal
                                my @in = reverse Spot::search(1, undef, undef, 0, $field[3]-1);
                                my $in;
                                foreach $in (@in) {
-                                       $self->send(pc26(@{$in}[0..4], $in->[7]));
+                                       $self->send(pc26(@{$in}[0..4], $field[2]));
                                }
                        }
 
@@ -504,12 +521,12 @@ sub normal
                                my @in = reverse Geomag::search(0, $field[4], time, 1);
                                my $in;
                                foreach $in (@in) {
-                                       $self->send(pc27(@{$in}));
+                                       $self->send(pc27(@{$in}[0..5], $field[2]));
                                }
                        }
                        return;
                }
-               
+
                if (($pcno >= 28 && $pcno <= 33) || $pcno == 40 || $pcno == 42 || $pcno == 49) { # mail/file handling
                        if ($field[1] eq $main::mycall) {
                                DXMsg::process($self, $line);
index 75e34c116a7e7e2f11bb21047637eb37dc01ba63..2e4afe023c2c72ba6b1fa4fa85df875986213c2d 100644 (file)
@@ -140,7 +140,7 @@ sub search
 
        $fp->close;                                     # close any open files
 
-       for ($i = 0; $i < $maxdays; ++$i) {     # look thru $maxdays worth of files only
+       for ($i = $count = 0; $i < $maxdays; ++$i) {    # look thru $maxdays worth of files only
                my @now = Julian::sub(@fromdate, $i); # but you can pick which $maxdays worth
                last if Julian::cmp(@now, @todate) <= 0;