diff options
author | Denys Vlasenko <dvlasenk@redhat.com> | 2020-02-19 17:39:13 +0100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2020-04-29 16:04:17 +1000 |
commit | ecd82629d6115036b1f89410a0964d251527c4ca (patch) | |
tree | 35770948ea1882a5c8c99d8ce58c6ffd8dc90008 /src/var.c | |
parent | jobs: Rename DOWAIT_NORMAL to DOWAIT_NONBLOCK (diff) | |
download | dash-ecd82629d6115036b1f89410a0964d251527c4ca.tar.gz dash-ecd82629d6115036b1f89410a0964d251527c4ca.zip |
var: Remove poplocalvars() always-zero argument, make it static
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to '')
-rw-r--r-- | src/var.c | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/src/var.c b/src/var.c index 0d7e1db..b146018 100644 --- a/src/var.c +++ b/src/var.c @@ -504,8 +504,8 @@ void mklocal(char *name, int flags) * Interrupts must be off. */ -void -poplocalvars(int keep) +static void +poplocalvars(void) { struct localvar_list *ll; struct localvar *lvp, *next; @@ -522,23 +522,7 @@ poplocalvars(int keep) next = lvp->next; vp = lvp->vp; TRACE(("poplocalvar %s\n", vp ? vp->text : "-")); - if (keep) { - int bits = VSTRFIXED; - - if (lvp->flags != VUNSET) { - if (vp->text == lvp->text) - bits |= VTEXTFIXED; - else if (!(lvp->flags & (VTEXTFIXED|VSTACK))) - ckfree(lvp->text); - } - - vp->flags &= ~bits; - vp->flags |= (lvp->flags & bits); - - if ((vp->flags & - (VEXPORT|VREADONLY|VSTRFIXED|VUNSET)) == VUNSET) - unsetvar(vp->text); - } else if (vp == NULL) { /* $- saved */ + if (vp == NULL) { /* $- saved */ memcpy(optlist, lvp->text, sizeof(optlist)); ckfree(lvp->text); optschanged(); @@ -586,7 +570,7 @@ out: void unwindlocalvars(struct localvar_list *stop) { while (localvar_stack != stop) - poplocalvars(0); + poplocalvars(); } |