dupemerge: don't stat during the file collection loop
[dupemerge] / faster-dupemerge
index 91138c8713d8d79c4f730a743eec303ce07097c3..aa8b142ceeab5bc2390aa7fcc4abef9a10719cc5 100755 (executable)
@@ -340,10 +340,11 @@ hash_file:
                        print STDERR "\t\tDigesting file $filename\n" if $debug;
                        if ((-l $filename) || ! -f _) {
                                warn "Bogon file " . tick_quote($filename);
-                               $surprises++;
+                               $input_bogons++;
+                               delete $inode_to_file_name{$candidate}->{$filename};
                                next;
                        }
-                       eval { 
+                       eval {
                                $digest = digest($filename); 
                        };
                        if ($@) {
@@ -578,12 +579,6 @@ while (<FIND>) {
 
        print STDERR "weak_key=$weak_key inode=$inode name=$name\n" if $debug;
 
-       unless (! (-l $name) && (-f _)) {
-               warn "Bogon file " . tick_quote($name);
-               $input_bogons++;
-               next;
-       }
-
        $input_links++;
        merge_files if $weak_key ne $current_key;
        $current_key = $weak_key;