]> git.proxmox.com Git - pve-common.git/blobdiff - src/PVE/CLIFormatter.pm
bump version to 8.2.1
[pve-common.git] / src / PVE / CLIFormatter.pm
index a267dcfc9e0bd2e1a692b462c772ef6957899fdb..6977fd9978dcace2f4440ed3a900c40770782c1c 100644 (file)
@@ -15,16 +15,11 @@ use JSON;
 use utf8;
 use Encode;
 
-PVE::JSONSchema::register_renderer('timestamp',
-    \&PVE::Format::render_timestamp);
-PVE::JSONSchema::register_renderer('timestamp_gmt',
-    \&PVE::Format::render_timestamp_gmt);
-PVE::JSONSchema::register_renderer('duration',
-    \&PVE::Format::render_duration);
-PVE::JSONSchema::register_renderer('fraction_as_percentage',
-    \&PVE::Format::render_fraction_as_percentage);
-PVE::JSONSchema::register_renderer('bytes',
-    \&PVE::Format::render_bytes);
+PVE::JSONSchema::register_renderer('timestamp', \&PVE::Format::render_timestamp);
+PVE::JSONSchema::register_renderer('timestamp_gmt', \&PVE::Format::render_timestamp_gmt);
+PVE::JSONSchema::register_renderer('duration', \&PVE::Format::render_duration);
+PVE::JSONSchema::register_renderer('fraction_as_percentage', \&PVE::Format::render_fraction_as_percentage);
+PVE::JSONSchema::register_renderer('bytes', \&PVE::Format::render_bytes);
 
 sub render_yaml {
     my ($value) = @_;
@@ -399,7 +394,12 @@ sub print_api_result {
            my $schema = { type => 'array', items => { type => 'object' }};
            print_api_list($kvstore, $schema, ['key', 'value'], $options, $terminal_opts);
        } elsif ($type eq 'array') {
-           return if !scalar(@$data);
+           if (ref($data) eq 'ARRAY') {
+               return if !scalar(@$data);
+           } elsif (ref($data) eq 'HASH') {
+               return if !scalar($data->%*);
+               die "got hash object, but result schema specified array!\n"
+           }
            my $item_type = $result_schema->{items}->{type};
            if ($item_type eq 'object') {
                print_api_list($data, $result_schema, $props_to_print, $options, $terminal_opts);