summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKirill Elagin <kirelagin@gmail.com>2011-07-07 11:51:39 -0500
committerWilliam Hubbs <williamh@gentoo.org>2011-07-07 12:23:58 -0500
commit0c7032840b746bc5f1e5f6cb90ad50b5da0a4fce (patch)
treebee757021943d7212a8195bb30fde7be6e9035b9
parentfe6cd232870e2b9b0784b09a29d088ad7454454d (diff)
downloadopenrc-0c7032840b746bc5f1e5f6cb90ad50b5da0a4fce.tar.gz
openrc-0c7032840b746bc5f1e5f6cb90ad50b5da0a4fce.tar.bz2
openrc-0c7032840b746bc5f1e5f6cb90ad50b5da0a4fce.tar.xz
save and restore IFS correctly
X-Gentoo-Bug: 371141 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=371141
-rw-r--r--init.d/localmount.in8
-rw-r--r--init.d/mount-ro.in8
2 files changed, 2 insertions, 14 deletions
diff --git a/init.d/localmount.in b/init.d/localmount.in
index efbddc7..166ee77 100644
--- a/init.d/localmount.in
+++ b/init.d/localmount.in
@@ -37,16 +37,10 @@ stop()
local x= no_umounts_r="/|/dev|/dev/.*|${RC_SVCDIR}"
no_umounts_r="${no_umounts_r}|/bin|/sbin|/lib|/libexec"
# RC_NO_UMOUNTS is an env var that can be set by plugins
- local OIFS=$IFS SIFS=${IFS-y}
- IFS=$IFS:
+ local IFS="$IFS:"
for x in $no_umounts $RC_NO_UMOUNTS; do
no_umounts_r="$no_umounts_r|$x"
done
- if [ "$SIFS" = y ]; then
- IFS=$OIFS
- else
- unset IFS
- fi
if [ "$RC_UNAME" = Linux ]; then
no_umounts_r="$no_umounts_r|/proc|/proc/.*|/run|/sys|/sys/.*"
diff --git a/init.d/mount-ro.in b/init.d/mount-ro.in
index dc2a098..7049d4b 100644
--- a/init.d/mount-ro.in
+++ b/init.d/mount-ro.in
@@ -22,16 +22,10 @@ start()
local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|${RC_SVCDIR}" x= fs=
m="$m|/bin|/sbin|/lib|/libexec"
# RC_NO_UMOUNTS is an env var that can be set by plugins
- local OIFS=$IFS SIFS=${IFS-y} IFS=$IFS
- IFS=$IFS:
+ local IFS="$IFS:"
for x in $no_umounts $RC_NO_UMOUNTS; do
m="$m|$x"
done
- if [ "$SIFS" = y ]; then
- IFS=$OIFS
- else
- unset IFS
- fi
m="^($m)$"
fs=
for x in $net_fs_list $extra_net_fs_list; do