Skip to content
Snippets Groups Projects
  • Simon Glass's avatar
    87b6398b
    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
    History
    cli: hush: Adjust 'run' command to run each line of the env var
    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>
cli_hush.h 737 B