cleanup code, fix debug output
authorMike Baker <mbm@openwrt.org>
Sat, 11 Dec 2004 07:28:27 +0000 (07:28 +0000)
committerMike Baker <mbm@openwrt.org>
Sat, 11 Dec 2004 07:28:27 +0000 (07:28 +0000)
SVN-Revision: 184

obsolete-buildroot/sources/openwrt/root/etc/functions.sh

index 1d341152f38ef013947bfe859788e3ec24c05a99..75500a2aab11c692f9d84ce39f3fbdc4276299fa 100755 (executable)
@@ -12,19 +12,22 @@ nvram () {
 . /etc/nvram.overrides
 
 # valid interface?
-if_valid () (
-  [ "${1%%[0-9]}" = "vlan" ] && {
-    i=${1#vlan}
-    hwname=$(nvram get vlan${i}hwname)
-    hwaddr=$(nvram get ${hwname}macaddr)
-    [ -z "$hwaddr" ] && return 1
+if_valid () {
+  ifconfig "$1" >&- 2>&- ||
+  [ "${1%%[0-9]}" = "br" ] ||
+  {
+    [ "${1%%[0-9]}" = "vlan" ] && ( 
+      i=${1#vlan}
+      hwname=$(nvram get vlan${i}hwname)
+      hwaddr=$(nvram get ${hwname}macaddr)
+      [ -z "$hwaddr" ] && return 1
 
-    vif=$(ifconfig -a | awk '/^eth.*'$hwaddr'/ {print $1; exit}' IGNORECASE=1)
-    debug "# vlan$i: $hwname $hwaddr => $vif"
+      vif=$(ifconfig -a | awk '/^eth.*'$hwaddr'/ {print $1; exit}' IGNORECASE=1)
+      debug "# vlan$i => $vif"
 
-    $DEBUG ifconfig $vif up
-    $DEBUG vconfig add $vif $i 2>/dev/null
-  }
-  ifconfig "$1" >/dev/null 2>&1 || [ "${1%%[0-9]}" = "br" ]
-  [ $? = 0 ] || { echo -e "# $1 ignored: no such interface"; return 1; }
-)
+      $DEBUG ifconfig $vif up
+      $DEBUG vconfig add $vif $i 2>&-
+    )
+  } ||
+  { echo -e "# $1 ignored: can't find/create"; false; }
+}