my $path=ID3FS::Path->new($self->{db}, $filename);
return(-ENOENT()) unless($path->isvalid());
return(-ENOTDIR()) unless($path->isdir());
- my @dents=(".", "..");
+ my @dents=();
my($dirs, $files)=$path->dirents();
- push(@dents, grep { $self->hascontents($filename, $_); } @$dirs);
+ # too slow
+# push(@dents, $path->filter(@$dirs));
+ push(@dents, @$dirs);
push(@dents, @$files);
- return(@dents, 0);
-}
-
-sub hascontents
-{
- return 1;
- # FIXME
- my($self, $base, $dir)=@_;
- print "hascontents: $base / $dir\n";
- my $path=ID3FS::Path->new($self->{db}, "$base/$dir");
- print "VALID: ", $path->isvalid(), "\n";
- return 1 unless($path->isvalid());
- my($subdirs,$subfiles)=$path->dirents();
- print "SUBDIRS: ", join(", ", @$subdirs), "\n";
- print "SUBFILES: ", join(", ", @$subfiles), "\n";
- return 1 if(@$subdirs || @$subfiles);
- return 0;
+ if(@dents)
+ {
+ return( (".", "..", @dents, 0) );
+ }
+ return(0);
}
# unused stubs