Selaa lähdekoodia

busybox: 1.13.3 ash fix

Peter Korsgaard 16 vuotta sitten
vanhempi
commit
27fb8ed49d
1 muutettua tiedostoa jossa 43 lisäystä ja 0 poistoa
  1. 43 0
      package/busybox/busybox-1.13.3-ash.patch

+ 43 - 0
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