diff options
Diffstat (limited to 'package/busybox')
-rw-r--r-- | package/busybox/busybox-1.13.3-ash.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.13.3-ash.patch b/package/busybox/busybox-1.13.3-ash.patch new file mode 100644 index 000000000..761af28d5 --- /dev/null +++ b/package/busybox/busybox-1.13.3-ash.patch @@ -0,0 +1,43 @@ +--- busybox-1.13.3/shell/ash.c Thu Feb 26 12:46:55 2009 ++++ busybox-1.13.3-ash/shell/ash.c Thu Mar 19 04:34:01 2009 +@@ -376,7 +376,6 @@ + onsig(int signo) + { + gotsig[signo - 1] = 1; +- pendingsig = signo; + + if (/* exsig || */ (signo == SIGINT && !trap[SIGINT])) { + if (!suppressint) { +@@ -384,6 +383,8 @@ + raise_interrupt(); /* does not return */ + } + intpending = 1; ++ } else { ++ pendingsig = signo; + } + } + +@@ -13692,15 +13693,20 @@ + } + state3: + state = 4; +- if (minusc) ++ if (minusc) { ++ /* evalstring pushes parsefile stack. ++ * Ensure we don't falsely claim that 0 (stdin) ++ * is one of stacked source fds */ ++ if (!sflag) ++ g_parsefile->fd = -1; + evalstring(minusc, 0); ++ } + + if (sflag || minusc == NULL) { + #if ENABLE_FEATURE_EDITING_SAVEHISTORY + if (iflag) { + const char *hp = lookupvar("HISTFILE"); +- +- if (hp != NULL) ++ if (hp) + line_input_state->hist_file = hp; + } + #endif |