aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-11-02 22:09:37 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-11-02 22:09:37 +0000
commit9d4533ede123cf05eb66a00997ede9c64e579b4d (patch)
treeb94af7c76d4f44472930795a9aff1f8339bc281f /shell
parentdd539f76877000e333796da8f30ea760c080a69a (diff)
downloadbusybox-9d4533ede123cf05eb66a00997ede9c64e579b4d.tar.gz
Fix kbuild bugs noticed by Bernhard Fischer <rep.nop@aon.at>
Diffstat (limited to 'shell')
-rw-r--r--shell/Config.in1
-rw-r--r--shell/cmdedit.c18
2 files changed, 9 insertions, 10 deletions
diff --git a/shell/Config.in b/shell/Config.in
index 0e25bedcb..9ac233155 100644
--- a/shell/Config.in
+++ b/shell/Config.in
@@ -257,6 +257,7 @@ config FEATURE_COMMAND_EDITING_VI
config FEATURE_COMMAND_HISTORY
int "History size"
+ range 0 99999
default 15
depends on FEATURE_COMMAND_EDITING
help
diff --git a/shell/cmdedit.c b/shell/cmdedit.c
index 35a8d5e27..dda6f6958 100644
--- a/shell/cmdedit.c
+++ b/shell/cmdedit.c
@@ -83,12 +83,10 @@
#ifndef CONFIG_FEATURE_COMMAND_HISTORY
#define MAX_HISTORY 15
#else
-#define MAX_HISTORY CONFIG_FEATURE_COMMAND_HISTORY
+#define MAX_HISTORY (CONFIG_FEATURE_COMMAND_HISTORY + 0)
#endif
-#if MAX_HISTORY < 1
-#warning cmdedit: You set MAX_HISTORY < 1. The history algorithm switched off.
-#else
+#if MAX_HISTORY > 0
static char *history[MAX_HISTORY+1]; /* history + current */
/* saved history lines */
static int n_history;
@@ -1166,7 +1164,7 @@ static void input_tab(int *lastWasTab)
}
#endif /* CONFIG_FEATURE_COMMAND_TAB_COMPLETION */
-#if MAX_HISTORY >= 1
+#if MAX_HISTORY > 0
static void get_previous_history(void)
{
if(command_ps[0] != 0 || history[cur_history] == 0) {
@@ -1529,7 +1527,7 @@ prepare_to_die:
printf("\033[H");
redraw(0, len-cursor);
break;
-#if MAX_HISTORY >= 1
+#if MAX_HISTORY > 0
case CNTRL('N'):
vi_case( case CNTRL('N')|vbit: )
vi_case( case 'j'|vbit: )
@@ -1730,7 +1728,7 @@ prepare_to_die:
input_tab(&lastWasTab);
break;
#endif
-#if MAX_HISTORY >= 1
+#if MAX_HISTORY > 0
case 'A':
/* Up Arrow -- Get previous command from history */
if (cur_history > 0) {
@@ -1838,7 +1836,7 @@ rewrite_line:
setTermSettings(0, (void *) &initial_settings);
handlers_sets &= ~SET_RESET_TERM;
-#if MAX_HISTORY >= 1
+#if MAX_HISTORY > 0
/* Handle command history log */
/* cleanup may be saved current command line */
if (len> 0) { /* no put empty line */
@@ -1859,13 +1857,13 @@ rewrite_line:
num_ok_lines++;
#endif
}
-#else /* MAX_HISTORY < 1 */
+#else /* MAX_HISTORY == 0 */
#if defined(CONFIG_FEATURE_SH_FANCY_PROMPT)
if (len > 0) { /* no put empty line */
num_ok_lines++;
}
#endif
-#endif /* MAX_HISTORY >= 1 */
+#endif /* MAX_HISTORY > 0 */
if (break_out > 0) {
command[len++] = '\n'; /* set '\n' */
command[len] = 0;