From 98b37ab45d0325f4c2b45fca664457ab90fc1e20 Mon Sep 17 00:00:00 2001 From: Dirk Koopman Date: Tue, 21 Feb 2017 10:13:52 +0000 Subject: [PATCH] Fix sh/dx on 14050 so it does what one expects --- Changes | 2 ++ cmd/show/dx.pl | 25 ++++++++++++++----------- perl/DXCommandmode.pm | 2 ++ perl/cluster.pl | 4 ++-- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/Changes b/Changes index ac17a93f..3726899f 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,5 @@ +21Feb17======================================================================= +1. Fix sh/dx on 14050 so that it does what one expects. 15Feb17======================================================================= 1. Update UPGRADE.mojo a bit 2. Add local::lib so that it can be used for non-root installations. diff --git a/cmd/show/dx.pl b/cmd/show/dx.pl index 1170a344..21a126b6 100644 --- a/cmd/show/dx.pl +++ b/cmd/show/dx.pl @@ -4,6 +4,7 @@ # # +require 5.10.1; my ($self, $line) = @_; my @list = split /\s+/, $line; # split the line up @@ -28,14 +29,14 @@ my $state; my $bystate; my $itu; my $byitu; -my $fromdxcc; +my $fromdxcc = 0; my $exact; my ($doqsl, $doiota, $doqra, $dofilter); my $usesql = $main::dbh && $Spot::use_db_for_search; while ($f = shift @list) { # next field - # print "f: $f list: ", join(',', @list), "\n"; + dbg "arg: $f list: " . join(',', @list) if isdbg('shdx'); if (!$from && !$to) { ($from, $to) = $f =~ m|^(\d+)[-/](\d+)$|; # is it a from -> to count? next if $from && $to > $from; @@ -57,17 +58,19 @@ while ($f = shift @list) { # next field next; } if (lc $f eq 'on' && $list[0]) { # is it freq range? - # print "yup freq\n"; - if ($list[0] =~ m|^(\d+)(?:\.\d+)?[-/](\d+)(?:\.\d+)?$|) { - push @freq, $1, $2; + dbg "freq $list[0]" if isdbg('shdx'); + if (my ($from, $to) = $list[0] =~ m|^(\d+)(?:\.\d+)?(?:[-/](\d+)(?:\.\d+)?)?$|) { + $to = $from unless defined $to; + dbg "freq '$from' '$to'" if isdbg('shdx'); + push @freq, $from, $to; shift @list; next; } else { my @r = split '/', lc $list[0]; - # print "r0: $r[0] r1: $r[1]\n"; + dbg "r0: $r[0] r1: $r[1]" if isdbg('shdx'); my @fr = Bands::get_freq($r[0], $r[1]); if (@fr) { # yup, get rid of extranous param - # print "freq: ", join(',', @fr), "\n"; + dbg "freq: " . join(',', @fr) if isdbg('shdx'); push @freq, @fr; # add these to the list shift @list; next; @@ -75,22 +78,22 @@ while ($f = shift @list) { # next field } } if (lc $f eq 'day' && $list[0]) { - # print "got day\n"; ($fromday, $today) = split m|[-/]|, shift(@list); + dbg "got day $fromday/$today" if isdbg('shdx'); next; } if (lc $f eq 'info' && $list[0]) { - # print "got info\n"; $info = shift @list; + dbg "got info $info" if isdbg('shdx'); next; } if ((lc $f eq 'spotter' || lc $f eq 'by') && $list[0]) { - # print "got spotter\n"; $spotter = uc shift @list; if ($list[0] && lc $list[0] eq 'dxcc') { $fromdxcc = 1; shift @list; } + dbg "got spotter $spotter fromdxcc $fromdxcc" if isdbg('shdx'); next; } if (lc $f =~ /^filt/) { @@ -381,7 +384,7 @@ if ($doqra) { $hint .= "m{$doqra}io"; } -#print "expr: $expr from: $from to: $to fromday: $fromday today: $today\n"; +dbg "expr: $expr from: $from to: $to fromday: $fromday today: $today" if isdbg('shdx'); # now do the search diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index 12ff1750..85df95b1 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -13,6 +13,8 @@ package DXCommandmode; @ISA = qw(DXChannel); +require 5.10.1; + use POSIX qw(:math_h); use DXUtil; use DXChannel; diff --git a/perl/cluster.pl b/perl/cluster.pl index 054a22ca..092a01e0 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -15,7 +15,7 @@ package main; require 5.10.1; use warnings; -use vars qw($root $is_win $systime); +use vars qw($root $is_win $systime $lockfn); # make sure that modules are searched in the order local then perl BEGIN { @@ -48,7 +48,7 @@ BEGIN { # try to create and lock a lockfile (this isn't atomic but # should do for now - my $lockfn = "$root/local_data/cluster.lck"; # lock file name + $lockfn = "$root/local_data/cluster.lck"; # lock file name if (-w $lockfn) { open(CLLOCK, "$lockfn") or die "Can't open Lockfile ($lockfn) $!"; my $pid = ; -- 2.34.1