public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Wolfgang Denk <wd@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 4/9] Stop using builtin_run_command()
Date: Fri, 13 Jan 2012 20:27:16 +0100	[thread overview]
Message-ID: <20120113192716.210E711CDEDB@gemini.denx.de> (raw)
In-Reply-To: <1323542641-14541-5-git-send-email-sjg@chromium.org>

Dear Simon Glass,

In message <1323542641-14541-5-git-send-email-sjg@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.

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: wd@denx.de
Parkinson's Law:  Work expands to fill the time alloted it.

  reply	other threads:[~2012-01-13 19:27 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-10 18:43 [U-Boot] [PATCH v2 0/9] Unified command execution in one place Simon Glass
2011-12-10 18:43 ` [U-Boot] [PATCH v2 1/9] Remove CMD_PXE's static on run_command() Simon Glass
2011-12-10 18:43 ` [U-Boot] [PATCH v2 2/9] Rename run_command() to builtin_run_command() Simon Glass
2011-12-10 18:43 ` [U-Boot] [PATCH v2 3/9] Rename run_command2() to run_command() Simon Glass
2011-12-10 18:43 ` [U-Boot] [PATCH v2 4/9] Stop using builtin_run_command() Simon Glass
2012-01-13 19:27   ` Wolfgang Denk [this message]
2012-01-13 19:43     ` Simon Glass
2012-01-13 21:25       ` Wolfgang Denk
2012-01-13 21:33         ` Simon Glass
2012-01-14  6:33           ` Simon Glass
2011-12-10 18:43 ` [U-Boot] [PATCH v2 5/9] Don't include standard parser if hush is used Simon Glass
2011-12-10 18:43 ` [U-Boot] [PATCH v2 6/9] Create a single cmd_call() function to handle command execution Simon Glass
2011-12-10 18:43 ` [U-Boot] [PATCH v2 7/9] Remove interleave of non-U-Boot code in hush Simon Glass
2011-12-10 18:44 ` [U-Boot] [PATCH v2 8/9] Add cmd_process() to process commands in one place Simon Glass
2011-12-10 18:44 ` [U-Boot] [PATCH v2 9/9] Convert cmd_usage() calls in common to use a return value Simon Glass
2012-01-12  4:37 ` [U-Boot] [PATCH v2 0/9] Unified command execution in one place Simon Glass
2012-01-12  7:17   ` Stefan Roese
2012-01-12  7:43 ` Stefan Roese
2012-01-17 16:45   ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120113192716.210E711CDEDB@gemini.denx.de \
    --to=wd@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox