• Simon Glass's avatar
    cli: hush: Adjust 'run' command to run each line of the env var · 87b6398b
    Simon Glass authored
    The run command treats each argument an an environment variable. It gets the
    value of each variable and executes it as a command. If an environment
    variable contains a newline and the hush cli is used, it is supposed to
    execute each line one after the other.
    
    Normally a newline signals to hush to exit - this is used in normal command
    line entry - after a command is entered we want to return to allow the user
    to enter the next one. But environment variables obviously need to execute
    to completion.
    
    Add a special case for the execution of environment variables which
    continues when a newline is seen, and add a few tests to check this
    behaviour.
    
    Note: it's not impossible that this may cause regressions in other areas.
    I can't think of a case but with any change of behaviour with limited test
    coverage there is always a risk. From what I can tell this behaviour has
    been around since at least U-Boot 2011.03, although this pre-dates sandbox
    and I have not tested it on real hardware.
    Reported-by: default avatarWolfgang Denk <wd@denx.de>
    Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
    87b6398b
cli_hush.h 737 Bytes