Merge branch 'test' into mojo
[spider.git] / perl / DXDupe.pm
index 696bbf84e583c07120b29103ef9e8a3bf2bbb110..795346db5ad89ea1d104e20a61ebffead5aee7f1 100644 (file)
@@ -46,19 +46,27 @@ sub check
 
 sub find
 {
-       return $d{$_[0]};
+       return 0 unless $_[0];
+       return exists $d{$_[0]} ? $d{$_[0]} : 0;
 }
 
 sub add
 {
        my $s = shift;
        my $t = shift || $main::systime + $default;
+       return unless $s;
+
        $d{$s} = $t;
+       dbg("DXDupe::add key: $s time: " . ztime($t)) if isdbg('dxdupe');
 }
 
 sub del
 {
        my $s = shift;
+       return unless $s;
+       
+       my $t = $d{$s};
+       dbg("DXDupe::del key: $s time: " . ztime($t)) if isdbg('dxdupe');
        delete $d{$s};
 }
 
@@ -70,7 +78,7 @@ sub process
                while (($k, $v) = each %d) {
                        push @del, $k  if $main::systime >= $v;
                }
-               delete $d{$_} for @del;
+               del($k) for @del;
                $lasttime = $main::systime;
        }
 }