← Commit list

969e00816

Denys Vlasenko
Denys Vlasenko
2023-01-03
SUCCESS Duration: 158s

Subject

hush: code shrink

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

shell/hush.c+9 -4
@@ -2460,10 +2460,15 @@ static int set_local_var(char *str, unsigned flags)
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)
{
char *var = xasprintf("%s=%s", name, val);
- set_local_var(var, /*flag:*/ 0);
+ set_local_var0(var);
}
/* Used at startup and after each cd */
@@ -6964,7 +6969,7 @@ static NOINLINE int expand_one_var(o_string *output, int n,
val = NULL;
} else {
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
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? */
rcode = 1;
}
@@ -9856,7 +9861,7 @@ static int run_list(struct pipe *pi)
}
/* Insert next value from for_lcur */
/* 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;
}
if (rword == RES_IN) {