common: Fix autocompletion with CONFIG_CMDLINE_PS_SUPPORT

The autocompletion did not work if CONFIG_CMDLINE_PS_SUPPORT was enabled
because U-Boot was comparing the prompt string with CONFIG_SYS_PROMPT .
While this works if CONFIG_CMDLINE_PS_SUPPORT is disabled, this no longer
works if it's enabled because user can override the PS1 . Fix this by
checking prompt string against the current PS1 value.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@konsulko.com>
This commit is contained in:
Marek Vasut 2019-06-27 00:17:27 +02:00 committed by Tom Rini
parent aa2067a869
commit 4225f830c5

View File

@ -356,8 +356,13 @@ int cmd_auto_complete(const char *const prompt, char *buf, int *np, int *colp)
int i, j, k, len, seplen, argc;
int cnt;
char last_char;
#ifdef CONFIG_CMDLINE_PS_SUPPORT
const char *ps_prompt = env_get("PS1");
#else
const char *ps_prompt = CONFIG_SYS_PROMPT;
#endif
if (strcmp(prompt, CONFIG_SYS_PROMPT) != 0)
if (strcmp(prompt, ps_prompt) != 0)
return 0; /* not in normal console */
cnt = strlen(buf);