From b28d4c3462e6b0e66322503f5ef0b941e0bb9cb8 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 25 Jul 2017 16:29:36 +0200 Subject: 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 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 --- shell/hush_test/hush-vars/unset.right | 4 ++-- shell/hush_test/hush-vars/unset.tests | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'shell/hush_test/hush-vars') diff --git a/shell/hush_test/hush-vars/unset.right b/shell/hush_test/hush-vars/unset.right index 1fbe76a73..097274201 100644 --- a/shell/hush_test/hush-vars/unset.right +++ b/shell/hush_test/hush-vars/unset.right @@ -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 diff --git a/shell/hush_test/hush-vars/unset.tests b/shell/hush_test/hush-vars/unset.tests index f59ce5923..81243fbf9 100755 --- a/shell/hush_test/hush-vars/unset.tests +++ b/shell/hush_test/hush-vars/unset.tests @@ -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 -- cgit v1.2.3