summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarmink <[email protected]>2017-11-01 10:25:17 +0800
committerarmink <[email protected]>2017-11-01 10:25:17 +0800
commit82b7ecda065914f3f46183b19ed1acfbb7f654c9 (patch)
tree763d66644ac73d29fb314b83afefc143b013a5b0
parent42e374e4f45a85d16ecff660f09c7632a7fbaf21 (diff)
[Finsh] Fix an auto complete history bug when current line is contained in last cmd.
-rw-r--r--components/finsh/shell.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/components/finsh/shell.c b/components/finsh/shell.c
index 4c20b3c640..90792e0039 100644
--- a/components/finsh/shell.c
+++ b/components/finsh/shell.c
@@ -372,7 +372,7 @@ static void shell_push_history(struct finsh_shell *shell)
if (shell->history_count >= FINSH_HISTORY_LINES)
{
/* if current cmd is same as last cmd, don't push */
- if (memcmp(&shell->cmd_history[FINSH_HISTORY_LINES - 1], shell->line, shell->line_position))
+ if (memcmp(&shell->cmd_history[FINSH_HISTORY_LINES - 1], shell->line, FINSH_CMD_SIZE))
{
/* move history */
int index;
@@ -391,7 +391,7 @@ static void shell_push_history(struct finsh_shell *shell)
else
{
/* if current cmd is same as last cmd, don't push */
- if (shell->history_count == 0 || memcmp(&shell->cmd_history[shell->history_count - 1], shell->line, shell->line_position))
+ if (shell->history_count == 0 || memcmp(&shell->cmd_history[shell->history_count - 1], shell->line, FINSH_CMD_SIZE))
{
shell->current_history = shell->history_count;
memset(&shell->cmd_history[shell->history_count][0], 0, FINSH_CMD_SIZE);