Anonymous avatar Anonymous committed 1b5826a

Eliminated the use of top.

Comments (0)

Files changed (2)

lib/File/Find/Object.pm

     return $self->{_curr_file};
 }
 
-sub _top
-{
-    my $self = shift;
-    if (defined($self->{_top}))
-    {
-        return $self->{_top};
-    }
-    else
-    {
-        return $self;
-    }
-}
-
 sub DESTROY {
     my ($self) = @_;
 #    print STDERR join(" ", caller)."\n";
             
         if ($_ eq 'b') {
             $self->check_subdir($current) or next;
-            push @{$self->_dir_stack()}, File::Find::Object::internal->new($current, scalar(@{$self->_dir_stack()}));
+            push @{$self->_dir_stack()}, 
+                File::Find::Object::internal->new(
+                    $self,
+                    $current, 
+                    scalar(@{$self->_dir_stack()})
+                );
             return 0;
         }
     }
     {
         return 0;
     }
-    if (-l $self->current_path($current) && !$current->_top->{followlink})
+    if (-l $self->current_path($current) && !$self->{followlink})
     {
         return 0;
     }
-    if ($st[0] != $self->_father($current)->{dev} && $current->_top->{nocrossfs})
+    if ($st[0] != $self->_father($current)->{dev} && $self->{nocrossfs})
     {
         return 0;
     }

lib/File/Find/Object/internal.pm

 use File::Spec;
 
 sub new {
-    my ($class, $from, $index) = @_;
-
-    my $top = $from->_top;
+    my ($class, $top, $from, $index) = @_;
 
     my $self = {
-        _top => $top,
         dir => $top->current_path($from),
         idx => $index,
     };
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.