ash: an unset dynamic variable should not be dynamic
Commit b28d4c346 (ash: [VAR] Move unsetvar functionality into setvareq) dropped the code that caused dynamic variables to lose their special properties when unset. Add it back again. function old new delta setvareq 346 360 +14 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 14/0) Total: 14 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
a81700bc08
commit
d96c69d876
@ -2364,6 +2364,10 @@ setvareq(char *s, int flags)
|
||||
}
|
||||
|
||||
flags |= vp->flags & ~(VTEXTFIXED|VSTACK|VNOSAVE|VUNSET);
|
||||
#if ENABLE_ASH_RANDOM_SUPPORT
|
||||
if (flags & VUNSET)
|
||||
flags &= ~VDYNAMIC;
|
||||
#endif
|
||||
} else {
|
||||
/* variable s is not found */
|
||||
if (flags & VNOSET)
|
||||
|
Loading…
x
Reference in New Issue
Block a user