← Commit list

6bdff08e6

Denis Vlasenko
Denis Vlasenko
2008-07-09
FAILED Duration: 24s

Subject

hush: compile fixes for !LOOPS case

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+4 -0
@@ -2931,8 +2931,10 @@ static int done_word(o_string *word, struct p_context *ctx)
}
#if HAS_KEYWORDS
if (!child->argv /* if it's the first word... */
+#if ENABLE_HUSH_LOOPS
&& ctx->ctx_res_w != RES_FOR /* ...not after FOR or IN */
&& ctx->ctx_res_w != RES_IN
+#endif
) {
debug_printf_parse(": checking '%s' for reserved-ness\n", word->data);
if (reserved_word(word, ctx)) {
@@ -3049,9 +3051,11 @@ static void done_pipe(struct p_context *ctx, pipe_style type)
* RES_FOR and RES_IN are NOT sticky (needed to support
* cases where variable or value happens to match a keyword):
*/
+#if ENABLE_HUSH_LOOPS
if (ctx->ctx_res_w == RES_FOR
|| ctx->ctx_res_w == RES_IN)
ctx->ctx_res_w = RES_NONE;
+#endif
/* Create the memory for child, roughly:
* ctx->pipe->progs = new struct child_prog;
* ctx->pipe->progs[0].family = ctx->pipe;