network: cleanup get_local_ip_from_cidr
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 8 Nov 2019 11:47:16 +0000 (12:47 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 8 Nov 2019 11:47:16 +0000 (12:47 +0100)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
src/PVE/Network.pm

index cc75445..e91aeb2 100644 (file)
@@ -585,19 +585,12 @@ sub is_ip_in_cidr {
 sub get_local_ip_from_cidr {
     my ($cidr) = @_;
 
-    my $cmd = ['/sbin/ip', 'address', 'show', 'to', $cidr, 'up'];
-
     my $IPs = [];
-
-    my $code = sub {
-       my $line = shift;
-
-       if ($line =~ m!^\s*inet(?:6)?\s+($PVE::Tools::IPRE)(?:/\d+|\s+peer\s+)!) {
+    run_command(['/sbin/ip', 'address', 'show', 'to', $cidr, 'up'], outfunc => sub {
+       if ($_[0] =~ m!^\s*inet(?:6)?\s+($PVE::Tools::IPRE)(?:/\d+|\s+peer\s+)!) {
            push @$IPs, $1;
        }
-    };
-
-    PVE::Tools::run_command($cmd, outfunc => $code);
+    });
 
     return $IPs;
 }