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
parent
e5bf1cecd6
commit
8b0791fa01
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue