#
# Copyright (c) - 1998 Dirk Koopman G1TLH
#
-# $Id$
+#
#
package Spot;
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;
-
-use vars qw($fp $statp $maxspots $defaultspots $maxdays $dirprefix $duplth $dupage $filterdef $totalspots $hfspots $vhfspots $maxcalllth);
+use vars qw($fp $statp $maxspots $defaultspots $maxdays $dirprefix $duplth $dupage $filterdef $totalspots $hfspots $vhfspots $maxcalllth $can_encode);
$fp = undef;
$statp = undef;
# 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;
}
}
my $otext = $text;
- $text = pack("C*", map {$_ & 127} unpack("C*", $text));
+ $text = Encode::encode("iso-8859-1", $text) if $main::can_encode && Encode::is_utf8($text, 1);
+ $text =~ s/^\+\w+\s*//; # remove leading LoTW callsign
$text =~ s/\s{2,}[\dA-Z]?[A-Z]\d?$// if length $text > 24;
- $text =~ s/[^\w]//g;
+ $text =~ s/[\W\x00-\x2F\x7B-\xFF]//g; # tautology, just to make quite sure!
$text = substr($text, 0, $duplth) if length $text > $duplth;
my $ldupkey = "X$freq|$call|$by|$text";
my $t = DXDupe::find($ldupkey);