fix sh/dx
[spider.git] / cmd / show / dx.pl
index f9d03f623dc0956676e068216691330e5bf03db7..aac5fdaf27dde51d5f614642f274fef62d4f0e83 100644 (file)
@@ -20,6 +20,7 @@ my $info;
 my $expr;
 my $hint;
 my $dxcc;
+my $real;
 my $fromdxcc;
 my ($doqsl, $doiota, $doqra);
 
@@ -37,6 +38,10 @@ while ($f = shift @list) {           # next field
                $dxcc = 1;
                next;
        }
+       if (lc $f eq 'rt' || $f =~ /^real/i) {
+               $real = 1;
+               next;
+       }
        if (lc $f eq 'on' && $list[0]) { # is it freq range?
                #    print "yup freq\n";
                if ($list[0] =~ m|^(\d+)(?:\.\d+)?[-/](\d+)(?:\.\d+)?$|) {
@@ -148,7 +153,9 @@ if (@freq) {
        for ($i = 0; $i < @freq; $i += 2) {
                $expr .= "(\$f0 >= $freq[$i] && \$f0 <= $freq[$i+1]) ||";
                my $r = Spot::ftor($freq[$i], $freq[$i+1]);
-               $hint .= "m{$r\\.} ||" if $r;
+#              $hint .= "m{$r\\.} ||" if $r;
+#              $hint .= "m{\d+\.} ||";
+               $hint .= "1 ||";
        }
        chop $expr;     chop $expr;
        chop $hint;     chop $hint;
@@ -239,7 +246,11 @@ my @res = Spot::search($expr, $fromday, $today, $from, $to, $hint);
 my $ref;
 my @dx;
 foreach $ref (@res) {
-       push @out, Spot::formatl(@$ref);
+       if ($real) {
+               push @out, $self->format_dx_spot(@$ref);
+       } else {
+               push @out, Spot::formatl(@$ref);
+       }
 }
 
 return (1, @out);