[Finsh] Fix an auto complete history bug when current line is contained in last cmd.

This commit is contained in:
armink 2017-11-01 10:25:17 +08:00
parent 42e374e4f4
commit 82b7ecda06
1 changed files with 2 additions and 2 deletions

View File

@ -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);