aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
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];