Upstream commit:
Date: Tue, 25 May 2010 20:55:05 +0800
[VAR] Move unsetvar functionality into setvareq
This patch moves the unsetvar code into setvareq so that we can
no have a pathological case of an unset variable hanging around
unless it has a bit pinning it like VEXPORT.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
function old new delta
setvareq 227 303 +76
expmeta 517 521 +4
localcmd 364 366 +2
unsetcmd 96 76 -20
unsetvar 129 7 -122
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/2 up/down: 82/-142) Total: -60 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
41 lines
609 B
Plaintext
Executable File
41 lines
609 B
Plaintext
Executable File
# check invalid options are rejected
|
|
# bash: in posix mode, aborts if non-interactive; using subshell to avoid that
|
|
(unset -)
|
|
echo $?
|
|
(unset -m a b c)
|
|
echo $?
|
|
|
|
# check funky usage
|
|
unset
|
|
echo $?
|
|
|
|
# check normal usage
|
|
echo ___
|
|
f=f g=g
|
|
echo $? $f $g
|
|
unset f
|
|
echo $? $f $g
|
|
unset g
|
|
echo $? $f $g
|
|
|
|
echo ___
|
|
f=f g=g
|
|
echo $? $f $g
|
|
unset f g
|
|
echo $? $f $g
|
|
f=f g=g
|
|
echo $? $f $g
|
|
unset -v f g
|
|
echo $? $f $g
|
|
|
|
# check read only vars
|
|
echo ___
|
|
f=f g=g
|
|
VAR_RO=1
|
|
readonly VAR_RO
|
|
(unset VAR_RO)
|
|
echo $? $f $g
|
|
# not testing "do variables survive error halfway through unset" since unset aborts
|
|
# unset f VAR_RO g
|
|
#echo $? $f $g
|