ash: [VAR] Move unsetvar functionality into setvareq
authorDenys Vlasenko <vda.linux@googlemail.com>
Tue, 25 Jul 2017 14:29:36 +0000 (16:29 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Tue, 25 Jul 2017 14:29:36 +0000 (16:29 +0200)
commitb28d4c3462e6b0e66322503f5ef0b941e0bb9cb8
treed25bf78558574cdd8de6b802cf6486f66dfc6db9
parentbe669fa1fdff6f751c8cdd3fc18a9fa7a7f46cd3
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>
shell/ash.c
shell/ash_test/ash-vars/readonly0.right
shell/ash_test/ash-vars/unset.right [new file with mode: 0644]
shell/ash_test/ash-vars/unset.tests [new file with mode: 0755]
shell/hush_test/hush-vars/unset.right
shell/hush_test/hush-vars/unset.tests