hush: code shrink
function old new delta run_list 1032 1012 -20 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
d488a5218b
commit
969e008168
13
shell/hush.c
13
shell/hush.c
@ -2460,10 +2460,15 @@ static int set_local_var(char *str, unsigned flags)
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int set_local_var0(char *str)
|
||||||
|
{
|
||||||
|
return set_local_var(str, 0);
|
||||||
|
}
|
||||||
|
|
||||||
static void FAST_FUNC set_local_var_from_halves(const char *name, const char *val)
|
static void FAST_FUNC set_local_var_from_halves(const char *name, const char *val)
|
||||||
{
|
{
|
||||||
char *var = xasprintf("%s=%s", name, val);
|
char *var = xasprintf("%s=%s", name, val);
|
||||||
set_local_var(var, /*flag:*/ 0);
|
set_local_var0(var);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Used at startup and after each cd */
|
/* Used at startup and after each cd */
|
||||||
@ -6964,7 +6969,7 @@ static NOINLINE int expand_one_var(o_string *output, int n,
|
|||||||
val = NULL;
|
val = NULL;
|
||||||
} else {
|
} else {
|
||||||
char *new_var = xasprintf("%s=%s", var, val);
|
char *new_var = xasprintf("%s=%s", var, val);
|
||||||
set_local_var(new_var, /*flag:*/ 0);
|
set_local_var0(new_var);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -9373,7 +9378,7 @@ static NOINLINE int run_pipe(struct pipe *pi)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
debug_printf_env("set shell var:'%s'->'%s'\n", *argv, p);
|
debug_printf_env("set shell var:'%s'->'%s'\n", *argv, p);
|
||||||
if (set_local_var(p, /*flag:*/ 0)) {
|
if (set_local_var0(p)) {
|
||||||
/* assignment to readonly var / putenv error? */
|
/* assignment to readonly var / putenv error? */
|
||||||
rcode = 1;
|
rcode = 1;
|
||||||
}
|
}
|
||||||
@ -9856,7 +9861,7 @@ static int run_list(struct pipe *pi)
|
|||||||
}
|
}
|
||||||
/* Insert next value from for_lcur */
|
/* Insert next value from for_lcur */
|
||||||
/* note: *for_lcur already has quotes removed, $var expanded, etc */
|
/* note: *for_lcur already has quotes removed, $var expanded, etc */
|
||||||
set_local_var(xasprintf("%s=%s", pi->cmds[0].argv[0], *for_lcur++), /*flag:*/ 0);
|
set_local_var_from_halves(pi->cmds[0].argv[0], *for_lcur++);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (rword == RES_IN) {
|
if (rword == RES_IN) {
|
||||||
|
Loading…
Reference in New Issue
Block a user