aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2023-05-08 12:27:50 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2023-05-08 12:27:50 +0200
commit3c8e540eb7b7cd3d60d55bb195e26537f83eb836 (patch)
tree8d63cf5ae3f7d5fc0e9a482e07302398bd552345
parent40fa8eb998e27529fcd59830eb163b43658f9e81 (diff)
downloadbusybox-w32-3c8e540eb7b7cd3d60d55bb195e26537f83eb836.tar.gz
busybox-w32-3c8e540eb7b7cd3d60d55bb195e26537f83eb836.tar.bz2
busybox-w32-3c8e540eb7b7cd3d60d55bb195e26537f83eb836.zip
hush: fix an interactive abort on error
function old new delta parse_and_run_stream 140 155 +15 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/hush.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/shell/hush.c b/shell/hush.c
index f8951d084..ac8e44778 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -7589,6 +7589,14 @@ static void parse_and_run_stream(struct in_str *inp, int end_trigger)
7589 } 7589 }
7590 /* Force prompt */ 7590 /* Force prompt */
7591 inp->p = NULL; 7591 inp->p = NULL;
7592 /* Clear "peeked" EOF. Without this,
7593 * $ { cmd }<Enter>
7594 * > ^D
7595 * hush: syntax error: unterminated {
7596 * exits interactive shell:
7597 */
7598 if (inp->peek_buf[0] == EOF)
7599 inp->peek_buf[0] = 0;
7592 /* This stream isn't empty */ 7600 /* This stream isn't empty */
7593 empty = 0; 7601 empty = 0;
7594 continue; 7602 continue;