added some more pc16/17 routing code
[spider.git] / perl / Thingy.pm
index c358389fd0318f1f96632f52e06553d41089d97f..c91edc0ce3d0d1d1429d7365338988884f796f94 100644 (file)
@@ -17,7 +17,7 @@ package Thingy;
 
 use vars qw($VERSION $BRANCH @queue @permin @persec);
 $VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
-$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/  || (0,0));
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /^\d+\.\d+(?:\.(\d+)\.(\d+))?$/  || (0,0));
 $main::build += $VERSION;
 $main::branch += $BRANCH;
 
@@ -63,7 +63,7 @@ sub send
 
        # do output filtering
        if ($thing->can('out_filter')) {
-               return unless $thing->out_filter;
+               return unless $thing->out_filter($dxchan);
        }
 
        # generate the line which may (or not) be cached
@@ -112,6 +112,11 @@ sub process
                        if ($thing->can('in_filter')) {
                                next unless $thing->in_filter($dxchan);
                        }
+
+                       # remember any useful routes
+                       RouteDB::update($thing->{origin}, $dxchan->{call}, $thing->{hopsaway});
+                       RouteDB::update($thing->{user}, $dxchan->{call}, $thing->{hopsaway}) if exists $thing->{user};
+               
                        $thing->handle($dxchan);
                }
        }