diff --git a/components/finsh/shell.c b/components/finsh/shell.c index 4c20b3c640b0f551d6510f2f7d3cd6227c8d7437..90792e00390c3e26e501b049e7ab836b2830b3ba 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);