X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=blobdiff_plain;f=src%2FPVE%2FJSONSchema.pm;h=9c624f694c6f423ee643ef025620c369b713f5bb;hp=0737459512ec9c72e1b3d2f0b081c363effec476;hb=24197a9f6c698985b7255fbf7792b0b6bd8188b5;hpb=26bcdf92d5e8d49fbea192adf2b9b5253f6a50ae diff --git a/src/PVE/JSONSchema.pm b/src/PVE/JSONSchema.pm index 0737459..9c624f6 100644 --- a/src/PVE/JSONSchema.pm +++ b/src/PVE/JSONSchema.pm @@ -4,6 +4,8 @@ use strict; use warnings; use Storable; # for dclone use Getopt::Long; +use Encode::Locale; +use Encode; use Devel::Cycle -quiet; # todo: remove? use PVE::Tools qw(split_list $IPV6RE $IPV4RE); use PVE::Exception qw(raise); @@ -678,7 +680,7 @@ sub check_type { return 1; #} elsif ($value =~ m/^(0|false|no|off)$/i) { } elsif ($value eq '0') { - return 0; + return 1; # return success (not value) } else { add_error($errors, $path, "type check ('$type') failed - got '$value'"); return undef; @@ -1349,7 +1351,9 @@ sub get_options { } } - $opts = PVE::Tools::decode_utf8_parameters($opts); + foreach my $p (keys %$opts) { + $opts->{$p} = decode('locale', $opts->{$p}); + } foreach my $p (keys %$opts) { if (my $pd = $schema->{properties}->{$p}) {