device: Refactor check for device type
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 23 Sep 2018 17:47:27 +0000 (19:47 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 23 Sep 2018 17:47:27 +0000 (19:47 +0200)
There is now one implementation for various types of devices

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/functions/functions.device

index 1067771..d1f60c4 100644 (file)
@@ -248,13 +248,25 @@ device_get_vlans() {
        done < ${PROC_NET_VLAN_CONFIG}
 }
 
+__device_type_matches() {
+       local device="${1}"
+       local type="${2}"
+
+       local _type="$(__device_get_file "${device}" "type")"
+
+       if [ "${type}" = "${_type}" ]; then
+               return ${EXIT_TRUE}
+       fi
+
+       return ${EXIT_FALSE}
+}
+
 # Check if the device is a ppp device
 device_is_ppp() {
-       local device=${1}
-
-       local type=$(__device_get_file ${device} type)
+       local device="${1}"
+       assert isset device
 
-       [ "${type}" = "512" ] && return ${EXIT_OK} || return ${EXIT_ERROR}
+       __device_type_matches "${device}" 512
 }
 
 # Check if the device is a pointopoint device.
@@ -293,19 +305,17 @@ device_is_wireless() {
 }
 
 device_is_vti() {
-       local device=${1}
-
-       local type=$(__device_get_file ${device} type)
+       local device="${1}"
+       assert isset device
 
-       [ "${type}" = "768" ] && return ${EXIT_OK} || return ${EXIT_ERROR}
+       __device_type_matches "${device}" 768
 }
 
 device_is_vti6() {
-       local device=${1}
-
-       local type=$(__device_get_file ${device} type)
+       local device="${1}"
+       assert isset device
 
-       [ "${type}" = "769" ] && return ${EXIT_OK} || return ${EXIT_ERROR}
+       __device_type_matches "${device}" 769
 }
 
 device_get_phy() {