--- toast	2004/03/06 22:10:11	1.307
+++ toast	2004/03/07 03:27:35	1.308
@@ -407,9 +407,12 @@
   my($sub, $dir) = @_;
   local(*DIR, $_);
   opendir(DIR, $dir) || error("opendir $dir: $!");
-  readdir(DIR) eq "." || error;
-  readdir(DIR) eq ".." || error;
-  while(defined($_ = readdir(DIR)) && &$sub($_)) { }
+  while(defined($_ = readdir(DIR)))
+  {
+    next if $_ eq ".";
+    next if $_ eq "..";
+    last unless &$sub($_);
+  }
   closedir(DIR);
   !defined($_);
 }