|
@@ -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
|