fix free talking in command mode
[spider.git] / perl / Spot.pm
index 92f705523a364652c2320ef37814ef9548f42905..0df6891799dd8a3006da9c2a1c1880fcc16a86b6 100644 (file)
@@ -22,10 +22,8 @@ use QSL;
 use strict;
 
 use vars qw($VERSION $BRANCH);
-$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
-$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/  || (0,0));
-$main::build += $VERSION;
-$main::branch += $BRANCH;
+
+($VERSION, $BRANCH) = dxver(q$Revision$);
 
 use vars qw($fp $statp $maxspots $defaultspots $maxdays $dirprefix $duplth $dupage $filterdef $totalspots $hfspots $vhfspots $maxcalllth);
 
@@ -169,13 +167,13 @@ sub prepare
        my @out = @_[0..4];      # just up to the spotter
 
        # normalise frequency
-       $_[0] = sprintf "%.1f", $_[0];
+       $out[0] = sprintf "%.1f", $out[0];
   
        # remove ssids and /xxx if present on spotter
        $out[4] =~ s/-\d+$//o;
 
        # remove leading and trailing spaces
-       $_[3] = unpad($_[3]);
+       $out[3] = unpad($out[3]);
        
        
        # add the 'dxcc' country on the end for both spotted and spotter, then the cluster call
@@ -394,7 +392,8 @@ sub dup
        # remove SSID or area
        $by =~ s|[-/]\d+$||;
        
-       $freq = sprintf "%.1f", $freq;       # normalise frequency
+#      $freq = sprintf "%.1f", $freq;       # normalise frequency
+       $freq = int $freq;       # normalise frequency
        $call = substr($call, 0, $maxcalllth) if length $call > $maxcalllth;
 
        chomp $text;
@@ -407,6 +406,7 @@ sub dup
                }
        }
        my $otext = $text;
+       $text =~ s/^\+\w+\s*//;                 # remove leading LoTW callsign
        $text = pack("C*", map {$_ & 127} unpack("C*", $text));
        $text =~ s/\s{2,}[\dA-Z]?[A-Z]\d?$// if length $text > 24;
        $text =~ s/[^\w]//g;