aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2011-09-04 16:12:33 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2011-09-04 16:12:33 +0200
commitbede215cf105377a1127532d2d710924cb58cc39 (patch)
treed0227961b7eb002cb03653f2e69211e6cf13d598 /shell
parent4840ae8a06298e987374fa3cc6d7e4969fd19344 (diff)
downloadbusybox-w32-bede215cf105377a1127532d2d710924cb58cc39.tar.gz
busybox-w32-bede215cf105377a1127532d2d710924cb58cc39.tar.bz2
busybox-w32-bede215cf105377a1127532d2d710924cb58cc39.zip
lineedit: add support for history saving on exit
Based on the patch by Dennis Groenen <tj.groenen@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c4
-rw-r--r--shell/hush.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/shell/ash.c b/shell/ash.c
index bf376bd0d..14472cb61 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -12888,6 +12888,10 @@ exitshell(void)
12888 char *p; 12888 char *p;
12889 int status; 12889 int status;
12890 12890
12891#if ENABLE_FEATURE_EDITING_SAVE_ON_EXIT
12892 save_history(line_input_state);
12893#endif
12894
12891 status = exitstatus; 12895 status = exitstatus;
12892 TRACE(("pid %d, exitshell(%d)\n", getpid(), status)); 12896 TRACE(("pid %d, exitshell(%d)\n", getpid(), status));
12893 if (setjmp(loc.loc)) { 12897 if (setjmp(loc.loc)) {
diff --git a/shell/hush.c b/shell/hush.c
index 42143fd9e..a9e2dd311 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -1541,6 +1541,10 @@ static sighandler_t pick_sighandler(unsigned sig)
1541static void hush_exit(int exitcode) NORETURN; 1541static void hush_exit(int exitcode) NORETURN;
1542static void hush_exit(int exitcode) 1542static void hush_exit(int exitcode)
1543{ 1543{
1544#if ENABLE_FEATURE_EDITING_SAVE_ON_EXIT
1545 save_history(G.line_input_state);
1546#endif
1547
1544 fflush_all(); 1548 fflush_all();
1545 if (G.exiting <= 0 && G.traps && G.traps[0] && G.traps[0][0]) { 1549 if (G.exiting <= 0 && G.traps && G.traps[0] && G.traps[0][0]) {
1546 char *argv[3]; 1550 char *argv[3];