ash: [VAR] Move unsetvar functionality into setvareq
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>
			
			
This commit is contained in:
		@@ -12,7 +12,7 @@ ___
 | 
			
		||||
0 f g
 | 
			
		||||
0
 | 
			
		||||
___
 | 
			
		||||
hush: HUSH_VERSION: readonly variable
 | 
			
		||||
hush: VAR_RO: readonly variable
 | 
			
		||||
1 f g
 | 
			
		||||
hush: HUSH_VERSION: readonly variable
 | 
			
		||||
hush: VAR_RO: readonly variable
 | 
			
		||||
1
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
# check invalid options are rejected
 | 
			
		||||
# bash: in posix mode, aborts if non-interactive
 | 
			
		||||
unset -
 | 
			
		||||
echo $?
 | 
			
		||||
unset -m a b c
 | 
			
		||||
@@ -30,7 +31,9 @@ echo $? $f $g
 | 
			
		||||
# check read only vars
 | 
			
		||||
echo ___
 | 
			
		||||
f=f g=g
 | 
			
		||||
unset HUSH_VERSION
 | 
			
		||||
VAR_RO=1
 | 
			
		||||
readonly VAR_RO
 | 
			
		||||
unset VAR_RO
 | 
			
		||||
echo $? $f $g
 | 
			
		||||
unset f HUSH_VERSION g
 | 
			
		||||
unset f VAR_RO g
 | 
			
		||||
echo $? $f $g
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user