lineedit: remove SAVE_HISTORY bit, ->hist_file can be used as indicator
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 4 Sep 2011 14:15:24 +0000 (16:15 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 4 Sep 2011 14:15:24 +0000 (16:15 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
include/libbb.h
libbb/lineedit.c
shell/hush.c

index 91343a9..1ca4489 100644 (file)
@@ -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; */
index 0786f9a..603bbfc 100644 (file)
@@ -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
index a9e2dd3..7a34f59 100644 (file)
@@ -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