fix duplicate key definitions by only using the first occurence and printing a warning

This commit is contained in:
Christoph Klaffl 2020-12-09 09:46:54 +01:00
parent 50cf9c9cc5
commit 316b01e9c2
No known key found for this signature in database
GPG Key ID: FC1C525C2A47CC28
1 changed files with 7 additions and 0 deletions

7
sanoid
View File

@ -881,6 +881,13 @@ sub init {
if (! defined ($defaults{'template_default'}{$key})) {
die "FATAL ERROR: I don't understand the setting $key you've set in \[$section\] in $conf_file.\n";
}
# in case of duplicate lines we will end up with an array of all values
my $value = $ini{$section}{$key};
if (ref($value) eq 'ARRAY') {
warn "duplicate key '$key' in section '$section', using the value from the first occurence and ignoring the others.\n";
$ini{$section}{$key} = $value->[0];
}
}
if ($section =~ /^template_/) { next; } # don't process templates directly