avoid dying if cannot chdir to an underlaydir
[ikiwiki.git] / IkiWiki / Render.pm
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;