From: Dirk Koopman Date: Tue, 24 Jun 2008 19:24:53 +0000 (+0100) Subject: allow users of next door nodes to override search X-Git-Tag: 1.56~81 X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=c8e15fc7003b239a21787cf79f22debdf3c419fd;p=spider.git allow users of next door nodes to override search --- diff --git a/perl/Route.pm b/perl/Route.pm index 33010998..794b8d3d 100644 --- a/perl/Route.pm +++ b/perl/Route.pm @@ -291,12 +291,11 @@ sub findroutes my $call = shift; my @out; - dbg("ROUTE: findroutes: $call") if isdbg('findroutes'); + dbg("ROUTE: findroutes $call") if isdbg('findroutes'); # return immediately if we are directly connected - if (my $dxchan = DXChannel::get($call)) { - return $dxchan; - } + my $dxchan = DXChannel::get($call); + return $dxchan if $dxchan; my $nref = Route::get($call); return () unless $nref; @@ -305,6 +304,10 @@ sub findroutes my @parent = $nref->isa('Route::User') ? @{$nref->{parent}} : $call; my %cand; foreach my $p (@parent) { + # return immediately if we are directly connected or a user's parent node is + $dxchan = DXChannel::get($p); + return $dxchan if $dxchan; + my $r = Route::Node::get($p); if ($r) { my %r = $r->PC92C_dxchan; @@ -326,7 +329,7 @@ sub findroutes if (isdbg('findroutes')) { if (@out) { foreach (sort {$b->[0] <=> $a->[0]} @out) { - dbg("ROUTE: findroute $call -> $_->[0] " . $_->[1]->call); + dbg("ROUTE: findroutes $call -> $_->[0] " . $_->[1]->call); } } } diff --git a/perl/Version.pm b/perl/Version.pm index aada2601..6673aff6 100644 --- a/perl/Version.pm +++ b/perl/Version.pm @@ -11,6 +11,6 @@ use vars qw($version $subversion $build); $version = '1.55'; $subversion = '0'; -$build = '14'; +$build = '15'; 1;