← Commit list

642e71a78

Denys Vlasenko
Denys Vlasenko
2011-01-07
FAILED Duration: 210s

Subject

hush: fix wrong prompt problem on empty interactive commants

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+10 -1
@@ -4140,7 +4140,16 @@ static struct pipe *parse_stream(char **pstring,
if (IS_NULL_CMD(ctx.command)
&& dest.length == 0 && !dest.has_quoted_part
) {
- continue;
+ /* This newline can be ignored. But...
+ * without the below check, interactive shell
+ * will ignore even lines with bare <newline>,
+ * and show the continuation prompt:
+ * ps1_prompt$ <enter>
+ * ps2> _ <=== wrong prompt, should be ps1
+ */
+ struct pipe *pi = ctx.list_head;
+ if (pi->num_cmds != 0)
+ continue;
}
/* Treat newline as a command separator. */
done_pipe(&ctx, PIPE_SEQ);