X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FRoute.pm;h=a1b9f00476228ac03e99b89480050c68c1741f60;hb=f4f8550d98c41dc69643c701a442016777561902;hp=7276c6979fc7f08510cb1d2df8328dae7a470996;hpb=3634fba90a64fe488d237f438d9945d81158da52;p=spider.git diff --git a/perl/Route.pm b/perl/Route.pm index 7276c697..a1b9f004 100644 --- a/perl/Route.pm +++ b/perl/Route.pm @@ -40,13 +40,13 @@ use vars qw(%list %valid $filterdef); $filterdef = bless ([ # tag, sort, field, priv, special parser ['channel', 'c', 0], - ['channel_dxcc', 'n', 1], - ['channel_itu', 'n', 2], - ['channel_zone', 'n', 3], + ['channel_dxcc', 'nc', 1], + ['channel_itu', 'ni', 2], + ['channel_zone', 'nz', 3], ['call', 'c', 4], - ['call_dxcc', 'n', 5], - ['call_itu', 'n', 6], - ['call_zone', 'n', 7], + ['call_dxcc', 'nc', 5], + ['call_itu', 'ni', 6], + ['call_zone', 'nz', 7], ], 'Filter::Cmd'); @@ -274,6 +274,7 @@ sub alldxchan my $self = shift; my @dxchan; # dbg("Trying node $self->{call}") if isdbg('routech'); + my $dxchan = DXChannel->get($self->{call}); push @dxchan, $dxchan if $dxchan; @@ -301,12 +302,16 @@ sub alldxchan sub dxchan { my $self = shift; + + # ALWAYS return the locally connected channel if present; + my $dxchan = DXChannel->get($self->call); + return $dxchan if $dxchan; + my @dxchan = $self->alldxchan; return undef unless @dxchan; # determine the minimum ping channel my $minping = 99999999; - my $dxchan; foreach my $dxc (@dxchan) { my $p = $dxc->pingave; if (defined $p && $p < $minping) {