diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2009-03-19 08:29:55 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2009-03-19 08:29:55 +0000 |
commit | 27fb8ed49d7b40f1f3a9c31a8895a944aae8beba (patch) | |
tree | 7d031048af550205807ee01713345c8b8d1d7a2a /package/busybox/busybox-1.13.3-ash.patch | |
parent | e40b41f4d9a3d9f86627d0541c2989a928bb0ebd (diff) | |
download | buildroot-novena-27fb8ed49d7b40f1f3a9c31a8895a944aae8beba.tar.gz buildroot-novena-27fb8ed49d7b40f1f3a9c31a8895a944aae8beba.zip |
busybox: 1.13.3 ash fix
Diffstat (limited to 'package/busybox/busybox-1.13.3-ash.patch')
-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 |