Fix crash that could occur when a needsbuild hook returned a file that does not exist.
I saw this happen with calendar, when it wanted to update a page, that had a calendar on it, but the page had just been deleted. This caused srcfile_stat to crash.master
parent
533793ee46
commit
acb07ef416
|
@ -770,9 +770,17 @@ sub refresh () {
|
|||
my ($new, $internal_new)=find_new_files($files);
|
||||
my ($del, $internal_del)=find_del_files($pages);
|
||||
my ($changed, $internal_changed)=find_changed($files);
|
||||
my %existingfiles;
|
||||
run_hooks(needsbuild => sub {
|
||||
my $ret=shift->($changed, [@$del, @$internal_del]);
|
||||
$changed=$ret if ref $ret eq 'ARRAY';
|
||||
if (ref $ret eq 'ARRAY') {
|
||||
if (! %existingfiles) {
|
||||
foreach my $f (@$files) {
|
||||
$existingfiles{$f}=1;
|
||||
}
|
||||
}
|
||||
@$changed=grep $existingfiles{$_}, @$ret;
|
||||
}
|
||||
});
|
||||
my $oldlink_targets=calculate_old_links($changed, $del);
|
||||
|
||||
|
|
|
@ -15,6 +15,8 @@ ikiwiki (3.20130519) UNRELEASED; urgency=low
|
|||
accessed via https.
|
||||
* The ip() pagespec can now contain glob characters to match eg, a subnet
|
||||
full of spammers.
|
||||
* Fix crash that could occur when a needsbuild hook returned a file
|
||||
that does not exist.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Sun, 23 Jun 2013 14:02:01 -0400
|
||||
|
||||
|
|
Loading…
Reference in New Issue