more fixes
authorminima <minima>
Sat, 9 Jun 2001 03:04:21 +0000 (03:04 +0000)
committerminima <minima>
Sat, 9 Jun 2001 03:04:21 +0000 (03:04 +0000)
perl/DXMsg.pm
perl/DXProt.pm
perl/Route.pm

index a992f2ae2d5b1597d206bcf4b95f84fc03c2ba32..3ca756894a5ea2c3ce83602bdcef7504141acb7e 100644 (file)
@@ -613,12 +613,11 @@ sub queue_msg
 #                              $clref = Route::Node::get($hnode) if $hnode;
 #                      }
                        if ($clref) {
-                               my $dxc = $clref->dxchan;
-                               if ($dxc) {
-                                       if (!grep $dxc == $_, DXCommandmode::get_all()) {
+                               $dxchan = $clref->dxchan;
+                               if ($dxchan) {
+                                       if ($dxchan->is_node) {
                                                next if $clref->call eq $main::mycall;  # i.e. it lives here
-                                               $dxchan = $dxc;
-                                               $ref->start_msg($dxchan) if $dxchan && !get_busy($dxchan->call)  && $dxchan->state eq 'normal';
+                                               $ref->start_msg($dxchan) if !get_busy($dxchan->call)  && $dxchan->state eq 'normal';
                                        }
                                } else {
                                        dbg('route', "Route: No dxchan for $ref->{to} " . ref($clref) );
index 93cea6230c32119dfd57c33721f3ddd731feb24d..7df2ce240e8bfe1045a1319610d3fab9c719fafd 100644 (file)
@@ -1384,7 +1384,7 @@ sub send_local_config
                my $ref = Route::Node::get($self->{call});
                my @rnodes = $ref->nodes;
                for my $n (@intcalls) {
-                       push @remotenodes, Route::Node::get($n) unless grep $n == $_, @rnodes;
+                       push @remotenodes, Route::Node::get($n) unless grep $n eq $_, @rnodes;
                }
                unshift @localnodes, $main::routeroot;
        }
index 0150d5bfd3b92b7c7d3cf8c391ce30ca1f089756..b5c02f0998bb437b7430cc65db71b787220594cd 100644 (file)
@@ -241,7 +241,7 @@ sub alldxchan
        foreach my $p (@{$self->{parent}}) {
                my $dxchan = DXChannel->get($p);
                if ($dxchan) {
-                       push @dxchan, $dxchan if grep $dxchan ne $_, @dxchan;
+                       push @dxchan, $dxchan unless grep $dxchan == $_, @dxchan;
                } else {
                        next if $p eq $main::mycall; # the root
                        my $ref = $self->get($p);
@@ -255,7 +255,7 @@ sub dxchan
 {
        my $self = shift;
        my $dxchan = DXChannel->get($self->{call});
-       return $dxchan = $dxchan;
+       return $dxchan if $dxchan;
        
        my @dxchan = $self->alldxchan;
        return undef unless @dxchan;