summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2017-07-17 21:19:53 +0200
committerDenys Vlasenko2017-07-17 21:19:53 +0200
commitb95ee96e7528554fc3ee2c48fbd59d75c59148db (patch)
treebf1d23f4f4172d59ecf38001c1ccc509f38b1af2
parent1e660422b16510f8bcdb764d632bb1da391c4a35 (diff)
downloadbusybox-b95ee96e7528554fc3ee2c48fbd59d75c59148db.zip
busybox-b95ee96e7528554fc3ee2c48fbd59d75c59148db.tar.gz
hush: smaller code in !READONLY configs
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/hush.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/shell/hush.c b/shell/hush.c
index a689863..2125e75 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -9347,11 +9347,14 @@ static int helper_export_local(char **argv,
}
}
# if ENABLE_HUSH_LOCAL
- if (exp == 0 && ro == 0 /* local? */
- && var && var->func_nest_level == lvl
+ /* Is this "local" bltin? */
+ if (exp == 0
+ IF_HUSH_READONLY(&& ro == 0) /* in !READONLY config, always true */
) {
- /* "local x=abc; ...; local x" - ignore second local decl */
- continue;
+ if (var && var->func_nest_level == lvl) {
+ /* "local x=abc; ...; local x" - ignore second local decl */
+ continue;
+ }
}
# endif
/* Exporting non-existing variable.