hit enter for a serial console
[openwrt.git] / obsolete-buildroot / sources / openwrt / root / etc / functions.sh
index 1d34115..75500a2 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; }
+}
This page took 0.022419 seconds and 4 git commands to generate.