websetup: Avoid a crash when a new array setup item has been added in a new ikiwiki release, and is thus not present in the setup file yet.

This happened with camelcase_ignore. The code tried to convert the undef
value for it into an array.
master
Joey Hess 2008-12-31 00:44:54 -05:00
parent 0daa4eb521
commit 3e8b7a6b19
2 changed files with 4 additions and 3 deletions

View File

@ -138,9 +138,8 @@ sub showfields ($$$@) {
my $value=$config{$key};
if ($info{safe} && defined $value &&
(ref $value eq 'ARRAY' || ref $info{example} eq 'ARRAY')) {
$value=[@{$value}, "", ""]; # blank items for expansion
if ($info{safe} && (ref $value eq 'ARRAY' || ref $info{example} eq 'ARRAY')) {
$value=[(ref $value eq 'ARRAY' ? @{$value} : ""), "", ""]; # blank items for expansion
}
if ($info{type} eq "string") {

2
debian/changelog vendored
View File

@ -20,6 +20,8 @@ ikiwiki (3.00) UNRELEASED; urgency=low
* htmlbalance: Demand-load HTML::TreeBuilder to avoid failing test suite
if it is not present.
* French translation update from Philippe Batailler. Closes: #510216
* websetup: Avoid a crash when a new array setup item has been added in
a new ikiwiki release, and is thus not present in the setup file yet.
-- Joey Hess <joeyh@debian.org> Wed, 24 Dec 2008 19:49:36 -0500