X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUtil.pm;h=24fa840ff12962d50273bf7fbf3f99c3fc99cdd8;hb=022cd402cfcb2db545d81cc6bc05552e02d639dc;hp=e77eb2947d80f8db249dc109c984ff070243b8cf;hpb=d40358b98c4f3fe24890369543dd7768c99da962;p=spider.git diff --git a/perl/DXUtil.pm b/perl/DXUtil.pm index e77eb294..24fa840f 100644 --- a/perl/DXUtil.pm +++ b/perl/DXUtil.pm @@ -383,10 +383,10 @@ sub unpad sub is_callsign { return $_[0] =~ m!^ - (?:\d?[A-Z]{1,2}\d*/)? # out of area prefix / - (?:\d?[A-Z]{1,2}\d+) # main prefix one (required) - [A-Z]{1,5} # callsign letters (required) - (?:-(?:\d{1,2}|\#))? # - nn possibly (eg G8BPQ-8) or -# (an RBN spot) + (?:\d?[A-Z]{1,2}\d{0,2}/)? # out of area prefix / + (?:\d?[A-Z]{1,2}\d{1,5}) # main prefix one (required) - lengthened for special calls + [A-Z]{1,8} # callsign letters (required) + (?:-(?:\d{1,2}))? # - nn possibly (eg G8BPQ-8) (?:/[0-9A-Z]{1,7})? # / another prefix, callsign or special label (including /MM, /P as well as /EURO or /LGT) possibly $!x; @@ -539,7 +539,7 @@ sub difft if (ref $b eq 'ARRAY') { $t = $b->[1] - $b->[0]; } else { - if ($adds >= $b) { + if ($adds && $adds >= $b) { $t = $adds - $b; $adds = shift; } else { @@ -554,15 +554,14 @@ sub difft $t -= $d * 86400; $h = int $t / 3600; $out .= sprintf ("%s${h}h", $adds?' ':'') if $h; -# $out .= "${h}h" if $h || $d; $t -= $h * 3600; $m = int $t / 60; $out .= sprintf ("%s${m}m", $adds?' ':'') if $m; -# $out .= "${m}m" if $m || $h || $d; - $s = int $t % 60; - $out .= sprintf ("%s${s}s", $adds?' ':'') if $s; - # $out .= "${s}s"; - $out ||= sprintf ("%s0s", $adds?' ':''); + if ($d == 0 && $adds || $adds == 2) { + $s = int $t % 60; + $out .= sprintf ("%s${s}s", $adds?' ':'') if $s; + $out ||= sprintf ("%s0s", $adds?' ':''); + } return $out; }