From 5e22050335c939572a43fd7b3e161d7ede5ff5a0 Mon Sep 17 00:00:00 2001 From: Phil Davis Date: Thu, 22 Dec 2016 22:33:04 +0545 Subject: Refactor interface_has_dhcp to reduce nesting --- src/etc/inc/interfaces.inc | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) (limited to 'src/etc/inc/interfaces.inc') diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index 795be7b..58074fb 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -5988,29 +5988,31 @@ function interface_has_dhcp($interface, $family = 4) { if ($config['interfaces'][$interface]) { if (($family == 4) && ($config['interfaces'][$interface]['ipaddr'] == "dhcp")) { return true; - } - if (($family == 6) && ($config['interfaces'][$interface]['ipaddrv6'] == "dhcp6")) { + } elseif (($family == 6) && ($config['interfaces'][$interface]['ipaddrv6'] == "dhcp6")) { return true; + } else { + return false; } + } + + if (!is_array($config['gateways']['gateway_group'])) { + return false; + } + + if ($family == 6) { + $dhcp_string = "_DHCP6"; } else { - if (is_array($config['gateways']['gateway_group'])) { - if ($family == 6) { - $dhcp_string = "_DHCP6"; - } else { - $dhcp_string = "_DHCP"; - } + $dhcp_string = "_DHCP"; + } - foreach ($config['gateways']['gateway_group'] as $group) { - if ($group['name'] == $interface) { - if (is_array($group['item'])) { - foreach ($group['item'] as $item) { - $item_data = explode("|", $item); - if (substr($item_data[0], -strlen($dhcp_string)) == $dhcp_string) { - return true; - } - } - } - } + foreach ($config['gateways']['gateway_group'] as $group) { + if (($group['name'] != $interface) || !is_array($group['item'])) { + continue; + } + foreach ($group['item'] as $item) { + $item_data = explode("|", $item); + if (substr($item_data[0], -strlen($dhcp_string)) == $dhcp_string) { + return true; } } } -- cgit v1.1