From 82b7ecda065914f3f46183b19ed1acfbb7f654c9 Mon Sep 17 00:00:00 2001 From: armink Date: Wed, 1 Nov 2017 10:25:17 +0800 Subject: [PATCH] [Finsh] Fix an auto complete history bug when current line is contained in last cmd. --- components/finsh/shell.c | 4 ++-- 1 file 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);