fix localdata(), add CTY 3105 prefixes
[spider.git] / perl / DXUtil.pm
index 7d9e63a97b89dde5c9e7cf4e90d36eda0a1cd169..73cda964733d53ea257a006ac8395af7ffe1b11c 100644 (file)
@@ -478,19 +478,20 @@ sub deleteitem
 sub localdata
 {
        my $ifn = shift;
-       my $ofn = "$main::local_data/$ifn";
-       my $tfn;
+       my $lfn = "$main::local_data/$ifn";
+       my $dfn =  "$main::data/$ifn";
        
        if (-e "$main::local_data") {
-               $tfn = "$main::data/$ifn";
-               if ((-e $tfn) && (-e $ofn)) {
-                       $ofn = $tfn if -M $ofn < -M $tfn;
+               if ((-e $dfn) && (-e $lfn)) {
+                       $lfn = $dfn if -M $dfn < -M $lfn;
                } else {
-                       $ofn = $tfn if -e $tfn;
+                       $lfn = $dfn if -e $dfn;
                }
+       } else {
+               $lfn = $dfn;
        }
 
-       return $ofn;
+       return $lfn;
 }
 
 # move a file or a directory from data -> local_data if isn't there already
@@ -549,7 +550,7 @@ sub difft
        if (ref $b eq 'ARRAY') {
                $t = $b->[1] - $b->[0];
        } else {
-               if ($adds && $adds >= $b) {
+               if ($adds && $adds =~ /^\d+$/ && $adds >= $b) {
                        $t = $adds - $b;
                        $adds = shift;
                } else {
@@ -572,6 +573,7 @@ sub difft
                $out .= sprintf ("%s${s}s", $adds?' ':'') if $s;
                $out ||= sprintf ("%s0s", $adds?' ':'');
        }
+       $out = '0s' unless length $out;
        return $out;
 }