make the delayed pc92 happen on pc20 as well as pc22 and also delay pc92s
authorminima <minima>
Mon, 8 Jan 2007 01:20:29 +0000 (01:20 +0000)
committerminima <minima>
Mon, 8 Jan 2007 01:20:29 +0000 (01:20 +0000)
generated in init state.

perl/DXProtHandle.pm

index 863789d3bd3a85cd8500953eba7f6fe573840090..d7350f4e60a678f4f3d35846f8ce3943a5250d4b 100644 (file)
@@ -491,7 +491,7 @@ sub handle_16
        }
        if (@rout) {
                $self->route_pc16($origin, $line, $parent, @rout);
-               $self->route_pc92a($main::mycall, undef, $parent, @rout);
+               $self->route_pc92a($main::mycall, undef, $parent, @rout) if $self->{state} eq 'normal';
        }
 }
                
@@ -736,6 +736,20 @@ sub handle_19
        }
 }
                
+sub send_delayed_pc92
+{
+       my $self = shift;
+       
+       # send out delayed PC92 config for this node if it is external
+       unless ($self->{do_pc92}) {
+               my $node = Route::Node::get($self->{call});
+               if ($node) {
+                       my @rout = map {my $r = Route::User::get($_); $r ? ($r) : ()} $node->users;
+                       $self->route_pc92c($main::mycall, undef, $node, @rout);
+               } 
+       }
+}
+
 # send local configuration
 sub handle_20
 {
@@ -747,6 +761,7 @@ sub handle_20
        $self->send(pc22());
        $self->state('normal');
        $self->{lastping} = 0;
+       $self->send_delayed_pc92;
 }
                
 # delete a cluster from the list
@@ -818,14 +833,7 @@ sub handle_22
        $self->state('normal');
        $self->{lastping} = 0;
 
-       # send out delayed PC92 config for this node if it is external
-       unless ($self->{do_pc92}) {
-               my $node = Route::Node::get($self->{call});
-               if ($node) {
-                       my @rout = map {my $r = Route::User::get($_); $r ? ($r) : ()} $node->users;
-                       $self->route_pc92c($main::mycall, undef, $node, @rout);
-               } 
-       }
+       $self->send_delayed_pc92
 }
                                
 # WWV info