[U-Boot] [PATCH] common, hush [BUG]: exit not work in hush shell

Wolfgang Denk wd at denx.de
Fri Sep 14 20:31:31 CEST 2012


Dear Heiko Schocher,

In message <1347645856-3326-1-git-send-email-hs at denx.de> you wrote:
> running the following script in u-boot:
> setenv error 'if true; then
>         echo **** ERROR ****
>         exit;
> fi'

I think I once tried to fix this, too.

See here:
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/94660
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/94661

Later, I rejected both these patches (and several other, unpublished
versions I came up with during testing), because none of these worked
for all tests really reliable.



>  	rcode = source (addr, fit_uname);
> +	if (rcode == -2) {
> +		debug("Hit exit in script\n");
> +		rcode = 0;
> +	}

Hm... Note that "exit" can take an argment, which should be reflected
in the return code - I mean, would it not be wrong to reurn 0 if the
user has "exit 1" in his script?


Please make sure to test this extensively.  When I was trying to fix a
few similar issues with hush, I quickly gave up because I decided it
would be an easier (and more promising) undertaking to update the whole
hush code to a more recent version of hush.

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 at denx.de
"Don't worry about people stealing your ideas. If your ideas are  any
good, you'll have to ram them down people's throats."  - Howard Aiken


More information about the U-Boot mailing list