simplifiy

master
Joey Hess 2009-03-27 15:23:36 -04:00
parent f9fd71df88
commit 529a06b7cc
1 changed files with 23 additions and 26 deletions

View File

@ -486,34 +486,31 @@ sub rename_hook (@) {
my $q=$params{cgi}; my $q=$params{cgi};
my $session=$params{session}; my $session=$params{session};
my @nextset; return () unless @torename;
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;
}
}
push @torename, rename_hook(
torename => \@nextset,
done => \%done,
cgi => $q,
session => $session,
);
# remove duplicates from @torename my @nextset;
my %seen; foreach my $torename (@torename) {
return grep { ! $seen{$_->{src}}++ } @torename; unless (exists $done{$torename->{src}} && $done{$torename->{src}}) {
} IkiWiki::run_hooks(rename => sub {
else { push @nextset, shift->(
return (); torename => $torename,
cgi => $q,
session => $session,
);
});
$done{$torename->{src}}=1;
}
} }
push @torename, rename_hook(
torename => \@nextset,
done => \%done,
cgi => $q,
session => $session,
);
# dedup
my %seen;
return grep { ! $seen{$_->{src}}++ } @torename;
} }
sub do_rename ($$$) { sub do_rename ($$$) {