X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FRoute.pm;h=c43fd34d7dc1cad6e93a0baec8504bedf0023de6;hb=4b2584a688f97a21ba055e0ecd983661a995d7fc;hp=443b3ee9e037a4e2a19c0de5299ef5b11de5441c;hpb=fda75c87faa54a0b900093080c34af885850721a;p=spider.git diff --git a/perl/Route.pm b/perl/Route.pm index 443b3ee9..c43fd34d 100644 --- a/perl/Route.pm +++ b/perl/Route.pm @@ -22,7 +22,7 @@ use DXUtil; use strict; -use vars qw(%list %valid $filterdef); +use vars qw(%list %valid $filterdef $maxlevel); %valid = ( call => "0,Callsign", @@ -53,6 +53,7 @@ $filterdef = bless ([ ['by_state', 'ns', 9], ], 'Filter::Cmd'); +$maxlevel = 25; # maximum recursion level in Route::config sub new { @@ -205,7 +206,7 @@ sub config $pcall = ' ' x length $pcall; # recursion detector - if ((DXChannel::get($call) && $level > 1) || $seen->{$call}) { + if ((DXChannel::get($call) && $level > 1) || $seen->{$call} || $level > $maxlevel) { $line .= ' ...'; push @out, $line; return @out; @@ -239,7 +240,7 @@ sub config push @out, $line if length $line; } else { # recursion detector - if ((DXChannel::get($call) && $level > 1) || $seen->{$call}) { + if ((DXChannel::get($call) && $level > 1) || $seen->{$call} || $level > $maxlevel) { return @out; } $seen->{$call}++;