hush: fix wrong prompt problem on empty interactive commants

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
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 @@
 				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);