From acdfe8cb621fd43d4f6c3ddac0a4078e9cc3e5f6 Mon Sep 17 00:00:00 2001 From: minima Date: Thu, 24 Feb 2005 23:39:17 +0000 Subject: [PATCH] fix spots dupes? --- perl/DXDupe.pm | 2 +- perl/Spot.pm | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/perl/DXDupe.pm b/perl/DXDupe.pm index 3ccb23c8..63fdcb2b 100644 --- a/perl/DXDupe.pm +++ b/perl/DXDupe.pm @@ -54,7 +54,7 @@ sub check sub find { - return 1 if exists $d{$_[0]}; + return $d{$_[0]}; } sub add diff --git a/perl/Spot.pm b/perl/Spot.pm index 8708ac4d..d49136b7 100644 --- a/perl/Spot.pm +++ b/perl/Spot.pm @@ -330,24 +330,24 @@ sub dup $freq = sprintf "%.1f", $freq; # normalise frequency $call = substr($call, 0, 12) if length $call > 12; - # quick test now for simple case - my $sdupkey = "X$freq|$call|$d|$by"; - return 1 if DXDupe::find($sdupkey); - chomp $text; $text =~ s/\%([0-9A-F][0-9A-F])/chr(hex($1))/eg; $text = substr($text, 0, $duplth) if length $text > $duplth; unpad($text); $text = pack("C*", map {$_ & 127} unpack("C*", $text)); $text =~ s/[^a-zA-Z0-9]//g; - for (-60, -120, -180, -240, 0, 60, 120, 180, 240, 300) { - my $dt = $d - $_; - my $ldupkey = "X$freq|$call|$dt|\L$text"; - my $sdupkey = "X$freq|$call|$dt|$by"; - return 1 if DXDupe::find($ldupkey) || DXDupe::find($sdupkey); + my $ldupkey = "X$freq|$call|\L$text"; + my $sdupkey = "X$freq|$call|$by"; + my $t = DXDupe::find($ldupkey); + if ($t) { + my $dt = $main::systime + $dupage - $t; + return 1 if $dt < 300; + } + $t = DXDupe::find($sdupkey); + if ($t) { + my $dt = $main::systime + $dupage - $t; + return 1 if $dt < 300; } - my $ldupkey = "X$freq|$call|$d|\L$text"; - $sdupkey = "X$freq|$call|$d|$by"; DXDupe::add($ldupkey, $main::systime+$dupage); DXDupe::add($sdupkey, $main::systime+$dupage); return 0; -- 2.34.1