fix init list and add pc92a/d to pc16/17 handlers
[spider.git] / perl / DXProtHandle.pm
index 858ea00ebafc00a05a8c026c69927acd58feb808..20eb37e417db85cb7d9ec2e9158b796df14f32e2 100644 (file)
@@ -473,8 +473,10 @@ sub handle_16
                $user->lastin($main::systime) unless DXChannel::get($call);
                $user->put;
        }
-       $self->route_pc16($origin, $line, $parent, @rout) if @rout;
-       
+       if (@rout) {
+               $self->route_pc16($origin, $line, $parent, @rout);
+               $self->route_pc92a($main::mycall, undef, $parent, @rout);
+       }
 }
                
 # remove a user
@@ -541,6 +543,7 @@ sub handle_17
 
        $uref = Route->new($ucall) unless $uref; # throw away
        $self->route_pc17($origin, $line, $parent, $uref);
+       $self->route_pc92d($main::mycall, undef, $parent, $uref);
 }
                
 # link request
@@ -1264,7 +1267,8 @@ sub _encode_pc92_call
        $flag |= $ref->here ? 1 : 0;
        if ($ref->isa('Route::Node') || $ref->isa('DXProt')) {
                $flag |= 4;
-               $flag |= 2 if $call ne $main::mycall && DXChannel::get($call);
+               my $dxchan = DXChannel::get($call);
+               $flag |= 2 if $call ne $main::mycall && $dxchan && !$dxchan->{do_pc92};
                if ($ext) {
                        if ($ref->version) {
                                my $version = $ref->version || 1.0;