]> git.proxmox.com Git - pve-network.git/commitdiff
cleanup status sub
authorAlexandre Derumier <aderumier@odiso.com>
Thu, 6 Jun 2019 06:20:14 +0000 (08:20 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 6 Jun 2019 06:24:54 +0000 (08:24 +0200)
don't mix stderr and stdout of the ifquery command, as it can break
JSON encoding afterweards

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
PVE/Network/Network.pm

index a89e3022ced66f05d998ead188512c64e72e75b0..a95b2c2852b29031ae2453dbee830e9fd2d4a85b 100644 (file)
@@ -73,16 +73,19 @@ sub status {
     my $reader = sub { $result .= shift };
 
     eval {
-       run_command($cmd, outfunc => $reader, errfunc => $reader);
+       run_command($cmd, outfunc => $reader);
     };
 
-    my $resultjson = JSON::decode_json($result);
+    my $resultjson = decode_json($result);
     my $interfaces = {};
 
     foreach my $interface (@$resultjson) {
-       $interfaces->{$interface->{'name'}}->{status} = $interface->{'status'};
-       $interfaces->{$interface->{'name'}}->{config} = $interface->{'config'};
-       $interfaces->{$interface->{'name'}}->{config_status} = $interface->{'config_status'};
+       my $name = $interface->{name};
+       $interfaces->{$name} = {
+           status => $interface->{status},
+           config => $interface->{config},
+           config_status => $interface->{config_status},
+       };
     }
 
     return $interfaces;