From 642e71a789156a96bcb18e6c5a0f52416c49d3b5 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 7 Jan 2011 15:16:05 +0100 Subject: [PATCH] hush: fix wrong prompt problem on empty interactive commants Signed-off-by: Denys Vlasenko --- shell/hush.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/shell/hush.c b/shell/hush.c index a771e9c..24b9e6e 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -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 , + * and show the continuation prompt: + * ps1_prompt$ + * 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); -- 2.7.4