aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-04-20 17:42:36 -0400
committerJoey Hess <joey@kitenet.net>2010-04-20 17:42:36 -0400
commitbfca8345ea7d49df6a4f6521f1db416d28671f35 (patch)
tree0ee44dc208c5da563e41f2b9beb163776034d6ae /IkiWiki
parent808a4249fc7f20fe66dd01cd0586919879075d32 (diff)
downloadikiwiki-bfca8345ea7d49df6a4f6521f1db416d28671f35.tar
ikiwiki-bfca8345ea7d49df6a4f6521f1db416d28671f35.tar.gz
bugfix
Avoid file_pruned triggering on absolute paths causing the whole comments_pending directory being pruned. Simplify code.
Diffstat (limited to 'IkiWiki')
-rw-r--r--IkiWiki/Plugin/comments.pm16
1 files changed, 6 insertions, 10 deletions
diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm
index ccc9e1068..58bd4b851 100644
--- a/IkiWiki/Plugin/comments.pm
+++ b/IkiWiki/Plugin/comments.pm
@@ -646,16 +646,12 @@ sub comments_pending () {
wanted => sub {
my $file=decode_utf8($_);
$file=~s/^\Q$dir\E\/?//;
- return unless length $file;
- if (IkiWiki::file_pruned($_)) {
- $File::Find::prune=1;
- }
- elsif (! -l $_ && ! -d _) {
- my ($f) = $file =~ /$config{wiki_file_regexp}/; # untaint
- if (defined $f && $f =~ /\Q._comment\E$/) {
- my $ctime=(stat($_))[10];
- push @ret, [$f, $ctime];
- }
+ return if ! length $file || IkiWiki::file_pruned($file)
+ || -l $_ || -d _ || $file !~ /\Q._comment\E$/;
+ my ($f) = $file =~ /$config{wiki_file_regexp}/; # untaint
+ if (defined $f) {
+ my $ctime=(stat($_))[10];
+ push @ret, [$f, $ctime];
}
}
}, $dir);