Fix parsing lines of ifconfig output which include \t in the case of

inet and inet6.

Approved by:	re (delphij)
This commit is contained in:
Hiroki Sato 2013-09-17 20:22:24 +00:00
parent 4e62a1443a
commit cdb5fa57f9

View File

@ -654,18 +654,16 @@ ipv4_down()
ifalias ${_if} inet -alias && _ret=0
inetList="`${IFCONFIG_CMD} ${_if} | grep 'inet ' | tr "\n" "$_ifs"`"
inetList="`${IFCONFIG_CMD} ${_if} | grep 'inet ' | tr "\n\t" "$_ifs"`"
oldifs="$IFS"
IFS="$_ifs"
for _inet in $inetList ; do
# get rid of extraneous line
case $_inet in
"") break ;;
\ inet\ *|inet\ *) ;;
*) continue ;;
inet\ *) ;;
*) continue ;;
esac
[ -z "$_inet" ] && break
_inet=`expr "$_inet" : '.*\(inet \([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\).*'`
@ -696,13 +694,16 @@ ipv6_down()
ipv6_prefix_hostid_addr_common ${_if} -alias && _ret=0
ifalias ${_if} inet6 -alias && _ret=0
inetList="`${IFCONFIG_CMD} ${_if} | grep 'inet6 ' | tr "\n" "$_ifs"`"
inetList="`${IFCONFIG_CMD} ${_if} | grep 'inet6 ' | tr "\n\t" "$_ifs"`"
oldifs="$IFS"
IFS="$_ifs"
for _inet6 in $inetList ; do
# get rid of extraneous line
[ -z "$_inet6" ] && break
case $_inet in
inet6\ *) ;;
*) continue ;;
esac
_inet6=`expr "$_inet6" : '.*\(inet6 \([0-9a-f:]*\)\).*'`