Skip to content
  • Marek Vasut's avatar
    cmd: exit: Fix return value propagation out of environment scripts · 721307eb
    Marek Vasut authored and Tom Rini's avatar Tom Rini committed
    Make sure the 'exit' command as well as 'exit $val' command exits
    from environment scripts immediately and propagates return value
    out of those scripts fully. That means the following behavior is
    expected:
    
    "
    => setenv foo 'echo bar ; exit 1' ; run foo ; echo $?
    bar
    1
    => setenv foo 'echo bar ; exit 0' ; run foo ; echo $?
    bar
    0
    => setenv foo 'echo bar ; exit -2' ; run foo ; echo $?
    bar
    0
    "
    
    As well as the followin behavior:
    
    "
    => setenv foo 'echo bar ; exit 3 ; echo fail'; run foo; echo $?
    bar
    3
    => setenv foo 'echo bar ; exit 1 ; echo fail'; run foo; echo $?
    bar
    1
    => setenv foo 'echo bar ; exit 0 ; echo fail'; run foo; echo $?
    bar
    0
    => setenv foo 'echo bar ; exit -1 ; echo fail'; run foo; echo $?
    bar
    0
    => setenv foo 'echo bar ; exit -2 ; echo fail'; run foo; echo $?
    bar
    0
    => setenv foo 'echo bar ; exit ; echo fail'; run foo; echo $?
    bar
    0
    "
    
    Fixes: 8c4e3b79
    
     ("cmd: exit: Fix return value")
    Reviewed-by: default avatarHector Palacios <hector.palacios@dig...>
    721307eb