tidy the Local.pm changes
[spider.git] / perl / DXProtHandle.pm
index b1726e98a1f4ae6ac184374d497f3943c6132f07..f28de6d065cbae54941df6703de4e9ed55a26248 100644 (file)
@@ -273,7 +273,7 @@ sub handle_11
        }
 
        # local processing
-       if (defined *Local::spot) {
+       if (defined &Local::spot) {
                my $r;
                eval {
                        $r = Local::spot($self, @spot);
@@ -360,7 +360,7 @@ sub handle_12
        }
 
        # local processing
-       if (defined *Local::ann) {
+       if (defined &Local::ann) {
                my $r;
                eval {
                        $r = Local::ann($self, $line, @_[1..6]);
@@ -947,7 +947,7 @@ sub handle_23
        # note this only takes the first one it gets
        Geomag::update($d, $_[2], $sfi, $k, $i, @_[6..8], $r);
 
-       if (defined *Local::wwv) {
+       if (defined &Local::wwv) {
                my $rep;
                eval {
                        $rep = Local::wwv($self, $_[1], $_[2], $sfi, $k, $i, @_[6..8], $r);
@@ -1318,7 +1318,7 @@ sub handle_73
 
        my $wcy = WCY::update($d, @_[2..12]);
 
-       if (defined *Local::wcy) {
+       if (defined &Local::wcy) {
                my $rep;
                eval {
                        $rep = Local::wcy($self, @_[1..12]);
@@ -1536,6 +1536,13 @@ sub check_pc9x_t
                                } elsif ($t == $lastid) {
                                        dbg("PCPROT: dup id on $t == lastid $lastid, ignored") if isdbg('chanerr') || isdbg('pc92dedupe');
                                        return undef;
+                               } else {
+                                       # check that if we have a low number in lastid that yesterday's numbers
+                                       # (likely in the 85000+ area) don't override them, thus causing flip flopping
+                                       if ($lastid+86400-$t < $pc9x_past_age) {
+                                               dbg("PCPROT: dup id on $t in yesterday, lastid $lastid, ignored") if isdbg('chanerr') || isdbg('pc92dedupe');
+                                               return undef;
+                                       }
                                }
                        }
                }