diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2011-01-19 09:08:45 +0100 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2011-01-19 09:08:45 +0100 |
commit | dea0b13403e2696046d1469f691945a74545127e (patch) | |
tree | aca6e45b153a10d8e8a054a38b8bae7dd2177bf3 /package/busybox/busybox-1.18.2/busybox-1.18.2-hush.patch | |
parent | 0705e448a484eca77bca37b96ee0ef03f55251e7 (diff) | |
download | buildroot-novena-dea0b13403e2696046d1469f691945a74545127e.tar.gz buildroot-novena-dea0b13403e2696046d1469f691945a74545127e.zip |
busybox: add 1.18.2 fixes
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/busybox/busybox-1.18.2/busybox-1.18.2-hush.patch')
-rw-r--r-- | package/busybox/busybox-1.18.2/busybox-1.18.2-hush.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.18.2/busybox-1.18.2-hush.patch b/package/busybox/busybox-1.18.2/busybox-1.18.2-hush.patch new file mode 100644 index 000000000..d08e5194d --- /dev/null +++ b/package/busybox/busybox-1.18.2/busybox-1.18.2-hush.patch @@ -0,0 +1,34 @@ +--- busybox-1.18.2/shell/hush.c ++++ busybox-1.18.2-hush/shell/hush.c +@@ -4123,15 +4123,26 @@ static struct pipe *parse_stream(char ** + && dest.length == 0 && !dest.has_quoted_part + ) { + /* This newline can be ignored. But... +- * without the below check, interactive shell +- * will ignore even lines with bare <newline>, +- * and show the continuation prompt: ++ * Without check #1, interactive shell ++ * ignores even bare <newline>, ++ * and shows the continuation prompt: + * ps1_prompt$ <enter> +- * ps2> _ <=== wrong prompt, should be ps1 ++ * ps2> _ <=== wrong, should be ps1 ++ * Without check #2, "cmd & <newline>" ++ * is similarly mistreated. ++ * (BTW, this makes "cmd & cmd" ++ * and "cmd && cmd" non-orthogonal. ++ * Really, ask yourself, why ++ * "cmd && <newline>" doesn't start ++ * cmd but waits for more input? ++ * No reason...) + */ + struct pipe *pi = ctx.list_head; +- if (pi->num_cmds != 0) ++ if (pi->num_cmds != 0 /* check #1 */ ++ && pi->followup != PIPE_BG /* check #2 */ ++ ) { + continue; ++ } + } + /* Treat newline as a command separator. */ + done_pipe(&ctx, PIPE_SEQ); |