From 99862cbfad9c36b4f8f4378c3a7a9f077c239f20 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 12 Sep 2010 17:34:13 +0200 Subject: hush: optional support for history saving function old new delta hush_main 945 995 +50 Signed-off-by: Denys Vlasenko --- shell/hush.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'shell') diff --git a/shell/hush.c b/shell/hush.c index ce7467245..752efd0c8 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -146,6 +146,13 @@ //config: from stdin just like a shell script from a file. //config: No prompt, no PS1/PS2 magic shell variables. //config: +//config:config HUSH_SAVEHISTORY +//config: bool "Save command history to .hush_history" +//config: default y +//config: depends on HUSH_INTERACTIVE && FEATURE_EDITING_SAVEHISTORY +//config: help +//config: Enable history saving in hush. +//config: //config:config HUSH_JOB //config: bool "Job control" //config: default y @@ -7415,7 +7422,20 @@ int hush_main(int argc, char **argv) #if ENABLE_FEATURE_EDITING G.line_input_state = new_line_input_t(FOR_SHELL); +# if defined MAX_HISTORY && MAX_HISTORY > 0 && ENABLE_HUSH_SAVEHISTORY + { + const char *hp = get_local_var_value("HISTFILE"); + if (!hp) { + hp = get_local_var_value("HOME"); + if (hp) { + G.line_input_state->hist_file = concat_path_file(hp, ".hush_history"); + //set_local_var(xasprintf("HISTFILE=%s", ...)); + } + } + } +# endif #endif + G.global_argc = argc; G.global_argv = argv; /* Initialize some more globals to non-zero values */ -- cgit v1.2.3