Hi Timo, On Mon, Apr 23, 2012 at 9:57 PM, Timo Ketola <t...@exertus.fi> wrote: > If one command fails, 'run' command should terminate and not execute > any remaining variables. > > Signed-off-by: Timo Ketola <t...@exertus.fi>
Tested on sandbox after a bit of investigation. Tested-by: Simon Glass <s...@chromium.org> Acked-by: Simon Glass <s...@chromium.org> This is a clear bug, since cmd_process() returns 1 on failure, but we need builtin_run_command() to return -1. I suspect this might be the problem that Wolfgang found some months ago, although perhaps in a more subtle form. We really need some tests for this sort of thing - I did create a few for the new run_command_list(), but will make time to add some tests for standard run_command() also. Thanks for finding and fixing this. Regards, Simon > --- > > This is based on u-boot-imx.git next. I hope that doesn't cause too > much trouble. > > common/main.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/common/main.c b/common/main.c > index db181d3..3b9e39a 100644 > --- a/common/main.c > +++ b/common/main.c > @@ -1338,7 +1338,8 @@ static int builtin_run_command(const char *cmd, int > flag) > continue; > } > > - rc = cmd_process(flag, argc, argv, &repeatable); > + if (cmd_process(flag, argc, argv, &repeatable)) > + rc = -1; > > /* Did the user stop this? */ > if (had_ctrlc ()) > -- > 1.7.5.4 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot