diff options
author | Joey Hess <joey@kitenet.net> | 2010-04-20 18:16:40 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-04-20 18:16:40 -0400 |
commit | 511f7f9cb94ebdd8ea33973a0ca74d2f8249aa3f (patch) | |
tree | 6423e40e1bad2aaaccdb37a2cd6579fe7a0d7315 | |
parent | bfca8345ea7d49df6a4f6521f1db416d28671f35 (diff) | |
download | ikiwiki-511f7f9cb94ebdd8ea33973a0ca74d2f8249aa3f.tar ikiwiki-511f7f9cb94ebdd8ea33973a0ca74d2f8249aa3f.tar.gz |
bugfix
So this is the one place that does need to canonpath and compare,
as two argument file_pruned used to.
-rw-r--r-- | IkiWiki/Plugin/autoindex.pm | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/IkiWiki/Plugin/autoindex.pm b/IkiWiki/Plugin/autoindex.pm index 23a17d4e9..0dd76259e 100644 --- a/IkiWiki/Plugin/autoindex.pm +++ b/IkiWiki/Plugin/autoindex.pm @@ -36,13 +36,17 @@ sub refresh () { my (%pages, %dirs); foreach my $dir ($config{srcdir}, @{$config{underlaydirs}}, $config{underlaydir}) { + require File::Spec; + $dir=File::Spec->canonpath($dir); + find({ no_chdir => 1, wanted => sub { - my $file=decode_utf8($_); + my $file=File::Spec->canonpath(decode_utf8($_)); + return if $file eq $dir; $file=~s/^\Q$dir\E\/?//; return unless length $file; - if (IkiWiki::file_pruned($_)) { + if (IkiWiki::file_pruned($file)) { $File::Find::prune=1; } elsif (! -l $_) { |