avoid dying if cannot chdir to an underlaydir
authorJoey Hess <joey@kitenet.net>
Thu, 17 Jun 2010 20:54:03 +0000 (16:54 -0400)
committerJoey Hess <joey@kitenet.net>
Thu, 17 Jun 2010 20:54:03 +0000 (16:54 -0400)
IkiWiki/Plugin/autoindex.pm
IkiWiki/Plugin/comments.pm
IkiWiki/Render.pm

index 5e8a9e0a32954cdbbaad64a81ead00e9ea802bc0..c3eb53300e426e0bfb72bc7df2d5e019024b9e39 100644 (file)
@@ -39,7 +39,7 @@ sub refresh () {
 
        my (%pages, %dirs);
        foreach my $dir ($config{srcdir}, @{$config{underlaydirs}}, $config{underlaydir}) {
-               chdir($dir) || die "chdir: $!";
+               chdir($dir) || next;
 
                find({
                        no_chdir => 1,
@@ -64,7 +64,7 @@ sub refresh () {
                        }
                }, '.');
 
-               chdir($origdir) || die "chdir: $!";
+               chdir($origdir) || die "chdir $origdir: $!";
        }
        
        my %deleted;
index 17cd99c3b92008b0ee4f35c4ca8f3aaaabe2df7d..d1558001aeff7b177a907d5be34f958df30692a1 100644 (file)
@@ -669,7 +669,7 @@ sub comments_pending () {
                my $extension=shift;
                return unless -d $dir;
 
-               chdir($dir) || die "chdir: $!";
+               chdir($dir) || die "chdir $dir: $!";
 
                find({
                        no_chdir => 1,
@@ -686,7 +686,7 @@ sub comments_pending () {
                        }
                }, ".");
 
-               chdir($origdir) || die "chdir: $!";
+               chdir($origdir) || die "chdir $origdir: $!";
        };
        
        $find_comments->($config{srcdir}, "._comment_pending");
index c6167b437fde4de7d19c2de1e48cc5b4e04b9f40..aae1f90b033f7a0954ef85c7e911d8f4a1ebf0f1 100644 (file)
@@ -335,21 +335,22 @@ sub find_src_files () {
                }
        };
 
-       chdir($config{srcdir}) || die "chdir: $!";
+       chdir($config{srcdir}) || die "chdir $config{srcdir}: $!";
        find({
                no_chdir => 1,
                wanted => $helper,
        }, '.');
-       chdir($origdir) || die "chdir: $!";
+       chdir($origdir) || die "chdir $origdir: $!";
 
        $underlay=1;
        foreach (@{$config{underlaydirs}}, $config{underlaydir}) {
-               chdir($_) || die "chdir: $!";
-               find({
-                       no_chdir => 1,
-                       wanted => $helper,
-               }, '.');
-               chdir($origdir) || die "chdir: $!";
+               if (chdir($_)) {
+                       find({
+                               no_chdir => 1,
+                               wanted => $helper,
+                       }, '.');
+                       chdir($origdir) || die "chdir: $!";
+               }
        };
 
        return \@files, \%pages;