summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2011-09-04 16:15:24 +0200
committerDenys Vlasenko2011-09-04 16:15:24 +0200
commite45af7ad17c3f0ecaec1d761aa89cb4fd83afbc2 (patch)
tree6f4a97cd2a4374cf152408976fd547b3fcd41d1c
parentbede215cf105377a1127532d2d710924cb58cc39 (diff)
downloadbusybox-e45af7ad17c3f0ecaec1d761aa89cb4fd83afbc2.zip
busybox-e45af7ad17c3f0ecaec1d761aa89cb4fd83afbc2.tar.gz
lineedit: remove SAVE_HISTORY bit, ->hist_file can be used as indicator
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--include/libbb.h13
-rw-r--r--libbb/lineedit.c6
-rw-r--r--shell/hush.c3
3 files changed, 8 insertions, 14 deletions
diff --git a/include/libbb.h b/include/libbb.h
index 91343a9..1ca4489 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -1434,13 +1434,12 @@ typedef struct line_input_t {
# endif
} line_input_t;
enum {
- DO_HISTORY = 1 * (MAX_HISTORY > 0),
- SAVE_HISTORY = 2 * (MAX_HISTORY > 0) * ENABLE_FEATURE_EDITING_SAVEHISTORY,
- TAB_COMPLETION = 4 * ENABLE_FEATURE_TAB_COMPLETION,
- USERNAME_COMPLETION = 8 * ENABLE_FEATURE_USERNAME_COMPLETION,
- VI_MODE = 0x10 * ENABLE_FEATURE_EDITING_VI,
- WITH_PATH_LOOKUP = 0x20,
- FOR_SHELL = DO_HISTORY | SAVE_HISTORY | TAB_COMPLETION | USERNAME_COMPLETION,
+ DO_HISTORY = 1 * (MAX_HISTORY > 0),
+ TAB_COMPLETION = 2 * ENABLE_FEATURE_TAB_COMPLETION,
+ USERNAME_COMPLETION = 4 * ENABLE_FEATURE_USERNAME_COMPLETION,
+ VI_MODE = 8 * ENABLE_FEATURE_EDITING_VI,
+ WITH_PATH_LOOKUP = 0x10,
+ FOR_SHELL = DO_HISTORY | TAB_COMPLETION | USERNAME_COMPLETION,
};
line_input_t *new_line_input_t(int flags) FAST_FUNC;
/* So far static: void free_line_input_t(line_input_t *n) FAST_FUNC; */
diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index 0786f9a..603bbfc 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -1402,8 +1402,6 @@ void save_history(line_input_t *st)
{
FILE *fp;
- if (!(st->flags & SAVE_HISTORY))
- return;
if (!st->hist_file)
return;
if (st->cnt_history <= st->cnt_history_in_file)
@@ -1447,8 +1445,6 @@ static void save_history(char *str)
int fd;
int len, len2;
- if (!(state->flags & SAVE_HISTORY))
- return;
if (!state->hist_file)
return;
@@ -2188,7 +2184,7 @@ int FAST_FUNC read_line_input(line_input_t *st, const char *prompt, char *comman
state = st ? st : (line_input_t*) &const_int_0;
#if MAX_HISTORY > 0
# if ENABLE_FEATURE_EDITING_SAVEHISTORY
- if ((state->flags & SAVE_HISTORY) && state->hist_file)
+ if (state->hist_file)
if (state->cnt_history == 0)
load_history(state);
# endif
diff --git a/shell/hush.c b/shell/hush.c
index a9e2dd3..7a34f59 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -7820,7 +7820,7 @@ int hush_main(int argc, char **argv)
*/
#if ENABLE_FEATURE_EDITING
- G.line_input_state = new_line_input_t(FOR_SHELL & ~SAVE_HISTORY);
+ G.line_input_state = new_line_input_t(FOR_SHELL);
#endif
/* Initialize some more globals to non-zero values */
@@ -8105,7 +8105,6 @@ int hush_main(int argc, char **argv)
}
if (hp) {
G.line_input_state->hist_file = hp;
- G.line_input_state->flags |= SAVE_HISTORY;
//set_local_var(xasprintf("HISTFILE=%s", ...));
}
# if ENABLE_FEATURE_SH_HISTFILESIZE