Reset IFS variable

Setting and unsetting the IFS variable is tricky. To be on the
safe side we should always reset the IFS variable to its original
value after parsing.

Signed-off-by: Hannes Reinecke <hare@suse.de>
master
Hannes Reinecke 2014-07-14 10:22:31 +02:00 committed by Daniel Molkentin
parent e5bf1cecd6
commit 8b0791fa01
3 changed files with 12 additions and 2 deletions

View File

@ -1,8 +1,10 @@
#!/bin/sh
for dasd_arg in $(getargs rd.dasd= -d rd_DASD= DASD=); do
(
local OLDIFS="$IFS"
IFS=","
set -- $dasd_arg
IFS="$OLDIFS"
echo "$@" | normalize_dasd_arg >> /etc/dasd.conf
)
done

View File

@ -59,8 +59,10 @@ for dasd_arg in $(getargs root=) $(getargs resume=); do
;;
esac
if [ -n "$ccw_arg" ] ; then
OLDIFS="$IFS"
IFS="-"
set -- $ccw_arg
IFS="$OLDIFS"
create_udev_rule $2
fi
)
@ -68,9 +70,10 @@ done

for dasd_arg in $(getargs rd.dasd=); do
(
OLDIFS="$IFS"
IFS=","
set -- $dasd_arg
unset IFS
IFS="$OLDIFS"
while (($# > 0)); do
case $1 in
autodetect|probeonly)
@ -78,13 +81,14 @@ for dasd_arg in $(getargs rd.dasd=); do
;;
*-*)
range=$1
OLDIFS="$IFS"
IFS="-"
set -- $range
start=${1#0.0.}
shift
end=${1#0.0.}
shift
unset IFS
IFS="$OLDIFS"
for dev in $(seq $(( 16#$start )) $(( 16#$end )) ) ; do
create_udev_rule $(printf "0.0.%04x" "$dev")
done

View File

@ -55,8 +55,10 @@ fi

for zfcp_arg in $(getargs rd.zfcp); do
(
OLDIFS="$IFS"
IFS=","
set $zfcp_arg
IFS="$OLDIFS"
create_udev_rule $1 $2 $3
)
done
@ -72,8 +74,10 @@ for zfcp_arg in $(getargs root=) $(getargs resume=); do
;;
esac
if [ -n "$ccw_arg" ] ; then
OLDIFS="$IFS"
IFS="-"
set -- $ccw_arg
IFS="$OLDIFS"
_wwpn=${4%:*}
_lun=${4#*:}
create_udev_rule $2 $wwpn $lun