Hi Wolfgang, On Fri, Jan 13, 2012 at 11:27 AM, Wolfgang Denk <w...@denx.de> wrote: > Dear Simon Glass, > > In message <1323542641-14541-5-git-send-email-...@chromium.org> you wrote: >> This function is only one of the parser options, so use run_command() >> instead. It knows how to use hush if selected. > ... > >> debug("Starting %s process...\n", __FUNCTION__); >> -#if !defined(CONFIG_SYS_HUSH_PARSER) >> - ret = builtin_run_command(s, 0); >> -#else >> - ret = parse_string_outer(s, FLAG_PARSE_SEMICOLON >> - | FLAG_EXIT_FROM_LOOP); >> -#endif >> + ret = run_command(s, 0); >> if (ret < 0) >> debug("Error.. %s failed\n", __FUNCTION__); > ... > >> -#ifndef CONFIG_SYS_HUSH_PARSER >> - if (builtin_run_command(getenv("bootcmd"), flag) < 0) >> + if (run_command(getenv("bootcmd"), flag) < 0) >> rcode = 1; >> -#else >> - if (parse_string_outer(getenv("bootcmd"), >> - FLAG_PARSE_SEMICOLON | FLAG_EXIT_FROM_LOOP) != 0) >> - rcode = 1; >> -#endif > > I think this breaks error handling in a large scale. > > run_command2() in "common/main.c" (now renamed into run_command() will > return 0 or 1 when used with the hush shell; it will never return < 0.
Thanks for looking at this. I will see what I can figure out. Regards, Simon > > Please fix globally. > > Best regards, > > Wolfgang Denk > > -- > DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de > Parkinson's Law: Work expands to fill the time alloted it. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot