diff options
author | Phil Davis <phil.davis@inf.org> | 2016-12-22 22:33:04 +0545 |
---|---|---|
committer | Phil Davis <phil.davis@inf.org> | 2016-12-22 22:33:04 +0545 |
commit | 5e22050335c939572a43fd7b3e161d7ede5ff5a0 (patch) | |
tree | 10e263b15525d90b9b72b4925a13be12b20bda30 /src/etc/inc/interfaces.inc | |
parent | 0f2cf2a1c47192e8394cbcec6ee291b7e753ac4b (diff) | |
download | pfsense-5e22050335c939572a43fd7b3e161d7ede5ff5a0.zip pfsense-5e22050335c939572a43fd7b3e161d7ede5ff5a0.tar.gz |
Refactor interface_has_dhcp
to reduce nesting
Diffstat (limited to 'src/etc/inc/interfaces.inc')
-rw-r--r-- | src/etc/inc/interfaces.inc | 40 |
1 files changed, 21 insertions, 19 deletions
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; } } } |