hush: Add rudimentary support for PS1 and PS2

Add trivial support for changing the U-Boot command prompt string
by setting PS1 and PS2 environment variables. Only static variables
are supported.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Marek Vasut 2016-01-27 04:47:55 +01:00 committed by Tom Rini
parent 13d3046fa3
commit f3b267b3a2
2 changed files with 18 additions and 0 deletions

8
README
View File

@ -2905,6 +2905,14 @@ CBFS (Coreboot Filesystem) support
Enable editing and History functions for interactive
command line input operations
- Command Line PS1/PS2 support:
CONFIG_CMDLINE_PS_SUPPORT
Enable support for changing the command prompt string
at run-time. Only static string is supported so far.
The string is obtained from environment variables PS1
and PS2.
- Default Environment:
CONFIG_EXTRA_ENV_SETTINGS

View File

@ -978,12 +978,22 @@ static inline void setup_prompt_string(int promptmode, char **prompt_str)
static int uboot_cli_readline(struct in_str *i)
{
char *prompt;
char __maybe_unused *ps_prompt = NULL;
if (i->promptmode == 1)
prompt = CONFIG_SYS_PROMPT;
else
prompt = CONFIG_SYS_PROMPT_HUSH_PS2;
#ifdef CONFIG_CMDLINE_PS_SUPPORT
if (i->promptmode == 1)
ps_prompt = getenv("PS1");
else
ps_prompt = getenv("PS2");
if (ps_prompt)
prompt = ps_prompt;
#endif
return cli_readline(prompt);
}
#endif