aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configs/mingw32_defconfig1
-rw-r--r--configs/mingw64_defconfig1
-rw-r--r--configs/mingw64a_defconfig1
-rw-r--r--configs/mingw64u_defconfig1
-rw-r--r--include/libbb.h5
-rw-r--r--libbb/Config.src10
-rw-r--r--libbb/lineedit.c4
7 files changed, 21 insertions, 2 deletions
diff --git a/configs/mingw32_defconfig b/configs/mingw32_defconfig
index 8624cd105..eca0dc7fc 100644
--- a/configs/mingw32_defconfig
+++ b/configs/mingw32_defconfig
@@ -135,6 +135,7 @@ CONFIG_FEATURE_EDITING=y
135CONFIG_FEATURE_EDITING_MAX_LEN=1024 135CONFIG_FEATURE_EDITING_MAX_LEN=1024
136CONFIG_FEATURE_EDITING_VI=y 136CONFIG_FEATURE_EDITING_VI=y
137CONFIG_FEATURE_EDITING_HISTORY=1023 137CONFIG_FEATURE_EDITING_HISTORY=1023
138CONFIG_FEATURE_EDITING_HISTORY_DEFAULT=384
138CONFIG_FEATURE_EDITING_SAVEHISTORY=y 139CONFIG_FEATURE_EDITING_SAVEHISTORY=y
139# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set 140# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
140CONFIG_FEATURE_REVERSE_SEARCH=y 141CONFIG_FEATURE_REVERSE_SEARCH=y
diff --git a/configs/mingw64_defconfig b/configs/mingw64_defconfig
index b8234f894..d71d2abf9 100644
--- a/configs/mingw64_defconfig
+++ b/configs/mingw64_defconfig
@@ -135,6 +135,7 @@ CONFIG_FEATURE_EDITING=y
135CONFIG_FEATURE_EDITING_MAX_LEN=1024 135CONFIG_FEATURE_EDITING_MAX_LEN=1024
136CONFIG_FEATURE_EDITING_VI=y 136CONFIG_FEATURE_EDITING_VI=y
137CONFIG_FEATURE_EDITING_HISTORY=1023 137CONFIG_FEATURE_EDITING_HISTORY=1023
138CONFIG_FEATURE_EDITING_HISTORY_DEFAULT=384
138CONFIG_FEATURE_EDITING_SAVEHISTORY=y 139CONFIG_FEATURE_EDITING_SAVEHISTORY=y
139# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set 140# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
140CONFIG_FEATURE_REVERSE_SEARCH=y 141CONFIG_FEATURE_REVERSE_SEARCH=y
diff --git a/configs/mingw64a_defconfig b/configs/mingw64a_defconfig
index 654754c06..4d554ec75 100644
--- a/configs/mingw64a_defconfig
+++ b/configs/mingw64a_defconfig
@@ -135,6 +135,7 @@ CONFIG_FEATURE_EDITING=y
135CONFIG_FEATURE_EDITING_MAX_LEN=1024 135CONFIG_FEATURE_EDITING_MAX_LEN=1024
136CONFIG_FEATURE_EDITING_VI=y 136CONFIG_FEATURE_EDITING_VI=y
137CONFIG_FEATURE_EDITING_HISTORY=1023 137CONFIG_FEATURE_EDITING_HISTORY=1023
138CONFIG_FEATURE_EDITING_HISTORY_DEFAULT=384
138CONFIG_FEATURE_EDITING_SAVEHISTORY=y 139CONFIG_FEATURE_EDITING_SAVEHISTORY=y
139# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set 140# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
140CONFIG_FEATURE_REVERSE_SEARCH=y 141CONFIG_FEATURE_REVERSE_SEARCH=y
diff --git a/configs/mingw64u_defconfig b/configs/mingw64u_defconfig
index f02389095..977c6966d 100644
--- a/configs/mingw64u_defconfig
+++ b/configs/mingw64u_defconfig
@@ -135,6 +135,7 @@ CONFIG_FEATURE_EDITING=y
135CONFIG_FEATURE_EDITING_MAX_LEN=1024 135CONFIG_FEATURE_EDITING_MAX_LEN=1024
136CONFIG_FEATURE_EDITING_VI=y 136CONFIG_FEATURE_EDITING_VI=y
137CONFIG_FEATURE_EDITING_HISTORY=1023 137CONFIG_FEATURE_EDITING_HISTORY=1023
138CONFIG_FEATURE_EDITING_HISTORY_DEFAULT=384
138CONFIG_FEATURE_EDITING_SAVEHISTORY=y 139CONFIG_FEATURE_EDITING_SAVEHISTORY=y
139# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set 140# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
140CONFIG_FEATURE_REVERSE_SEARCH=y 141CONFIG_FEATURE_REVERSE_SEARCH=y
diff --git a/include/libbb.h b/include/libbb.h
index 76a107521..a7d31ed0c 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -2015,6 +2015,11 @@ unsigned size_from_HISTFILESIZE(const char *hp) FAST_FUNC;
2015# else 2015# else
2016# define MAX_HISTORY 0 2016# define MAX_HISTORY 0
2017# endif 2017# endif
2018# if defined CONFIG_FEATURE_EDITING_HISTORY_DEFAULT && CONFIG_FEATURE_EDITING_HISTORY_DEFAULT > 0
2019# define DEFAULT_HISTORY (CONFIG_FEATURE_EDITING_HISTORY_DEFAULT + 0)
2020# else
2021# define DEFAULT_HISTORY 0
2022# endif
2018typedef const char *get_exe_name_t(int i) FAST_FUNC; 2023typedef const char *get_exe_name_t(int i) FAST_FUNC;
2019typedef const char *sh_get_var_t(const char *name) FAST_FUNC; 2024typedef const char *sh_get_var_t(const char *name) FAST_FUNC;
2020typedef int sh_accept_glob_t(const char *name) FAST_FUNC; 2025typedef int sh_accept_glob_t(const char *name) FAST_FUNC;
diff --git a/libbb/Config.src b/libbb/Config.src
index b980f19a9..61b4601d6 100644
--- a/libbb/Config.src
+++ b/libbb/Config.src
@@ -188,6 +188,16 @@ config FEATURE_EDITING_HISTORY
188 help 188 help
189 Specify command history size (0 - disable). 189 Specify command history size (0 - disable).
190 190
191config FEATURE_EDITING_HISTORY_DEFAULT
192 int "Default history size"
193 range 0 FEATURE_EDITING_HISTORY
194 default 255
195 depends on PLATFORM_MINGW32 && FEATURE_EDITING && FEATURE_SH_HISTFILESIZE
196 help
197 Specify default command history size. This may be smaller than
198 FEATURE_EDITING_HISTORY, in which case the user may increase
199 the history size by setting HISTFILESIZE.
200
191config FEATURE_EDITING_SAVEHISTORY 201config FEATURE_EDITING_SAVEHISTORY
192 bool "History saving" 202 bool "History saving"
193 default y 203 default y
diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index 1a095b657..811e3e475 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -1585,8 +1585,8 @@ line_input_t* FAST_FUNC new_line_input_t(int flags)
1585 1585
1586unsigned FAST_FUNC size_from_HISTFILESIZE(const char *hp) 1586unsigned FAST_FUNC size_from_HISTFILESIZE(const char *hp)
1587{ 1587{
1588# if ENABLE_PLATFORM_MINGW32 && MAX_HISTORY > 511 1588# if ENABLE_PLATFORM_MINGW32 && DEFAULT_HISTORY > 0 && DEFAULT_HISTORY <= MAX_HISTORY
1589 int size = 384; 1589 int size = DEFAULT_HISTORY;
1590# else 1590# else
1591 int size = MAX_HISTORY; 1591 int size = MAX_HISTORY;
1592# endif 1592# endif