diff options
-rw-r--r-- | IkiWiki/Plugin/rename.pm | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/IkiWiki/Plugin/rename.pm b/IkiWiki/Plugin/rename.pm index de11e4cc9..09250af81 100644 --- a/IkiWiki/Plugin/rename.pm +++ b/IkiWiki/Plugin/rename.pm @@ -486,34 +486,31 @@ sub rename_hook (@) { my $q=$params{cgi}; my $session=$params{session}; + return () unless @torename; + my @nextset; - if (@torename) { - foreach my $torename (@torename) { - unless (exists $done{$torename->{src}} && $done{$torename->{src}}) { - IkiWiki::run_hooks(rename => sub { - push @nextset, shift->( - torename => $torename, - cgi => $q, - session => $session, - ); - }); - $done{$torename->{src}}=1; - } + foreach my $torename (@torename) { + unless (exists $done{$torename->{src}} && $done{$torename->{src}}) { + IkiWiki::run_hooks(rename => sub { + push @nextset, shift->( + torename => $torename, + cgi => $q, + session => $session, + ); + }); + $done{$torename->{src}}=1; } - push @torename, rename_hook( - torename => \@nextset, - done => \%done, - cgi => $q, - session => $session, - ); - - # remove duplicates from @torename - my %seen; - return grep { ! $seen{$_->{src}}++ } @torename; - } - else { - return (); } + push @torename, rename_hook( + torename => \@nextset, + done => \%done, + cgi => $q, + session => $session, + ); + + # dedup + my %seen; + return grep { ! $seen{$_->{src}}++ } @torename; } sub do_rename ($$$) { |