Add Local::ann() as requested by Felipe PY1NB. origin/spider
authorDirk Koopman <djk@tobit.co.uk>
Sat, 17 Nov 2007 13:35:14 +0000 (13:35 +0000)
committerDirk Koopman <djk@tobit.co.uk>
Sat, 17 Nov 2007 13:35:14 +0000 (13:35 +0000)
Also check that the Local::xxx stubs are defined before trying to eval {}
them.

Changes
perl/DXProtHandle.pm
perl/Version.pm

diff --git a/Changes b/Changes
index 6a0731b6b84fa110302909df620653bcce2d641f..ee7a52ae3086db1fb6dab4d16cb637f23c54f3b4 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,5 @@
+17Nov07=======================================================================
+1. Add Local::ann() as requested by Felipe PY1NB.
 16Nov07=======================================================================
 1. add CTY-1709 prefix changes
 2. added extra checking for the time stamp on PC9x sentences. These must now
index e0f327e71de05c3f8778215b4373832aa21c90fa..3e4d3134d40ba532bec9138fab4503679ffe2f30 100644 (file)
@@ -273,12 +273,13 @@ sub handle_11
        }
 
        # local processing
-       my $r;
-       eval {
-               $r = Local::spot($self, @spot);
-       };
-       #                       dbg("Local::spot1 error $@") if isdbg('local') if $@;
-       return if $r;
+       if (defined *Local::spot) {
+               my $r;
+               eval {
+                       $r = Local::spot($self, @spot);
+               };
+               return if $r;
+       }
 
        # DON'T be silly and send on PC26s!
        return if $pcno == 26;
@@ -357,6 +358,15 @@ sub handle_12
        } else {
                $self->route($_[2], $line);
        }
+
+       # local processing
+       if (defined *Local::ann) {
+               my $r;
+               eval {
+                       $r = Local::ann($self, $line, @_[1..6]);
+               };
+               return if $r;
+       }
 }
 
 sub handle_15
@@ -937,12 +947,13 @@ sub handle_23
        # note this only takes the first one it gets
        Geomag::update($d, $_[2], $sfi, $k, $i, @_[6..8], $r);
 
-       my $rep;
-       eval {
-               $rep = Local::wwv($self, $_[1], $_[2], $sfi, $k, $i, @_[6..8], $r);
-       };
-       #                       dbg("Local::wwv2 error $@") if isdbg('local') if $@;
-       return if $rep;
+       if (defined *Local::wwv) {
+               my $rep;
+               eval {
+                       $rep = Local::wwv($self, $_[1], $_[2], $sfi, $k, $i, @_[6..8], $r);
+               };
+               return if $rep;
+       }
 
        # DON'T be silly and send on PC27s!
        return if $pcno == 27;
@@ -1307,12 +1318,13 @@ sub handle_73
 
        my $wcy = WCY::update($d, @_[2..12]);
 
-       my $rep;
-       eval {
-               $rep = Local::wcy($self, @_[1..12]);
-       };
-       # dbg("Local::wcy error $@") if isdbg('local') if $@;
-       return if $rep;
+       if (defined *Local::wcy) {
+               my $rep;
+               eval {
+                       $rep = Local::wcy($self, @_[1..12]);
+               };
+               return if $rep;
+       }
 
        # broadcast to the eager world
        send_wcy_spot($self, $line, $d, @_[2..12]);
index b5d0b56b04b457ee1094068a7f6f4c7ba9f835d4..d7a2883141b183085780259e85c50b1a5633177b 100644 (file)
@@ -11,6 +11,6 @@ use vars qw($version $subversion $build);
 
 $version = '1.54';
 $subversion = '0';
-$build = '184';
+$build = '185';
 
 1;