[U-Boot-Users] Hush 'elif' operation?

Wolfgang Denk wd at denx.de
Mon Feb 9 22:52:53 CET 2004


Dear Robin,

in message <40197548.6060001 at tait.co.nz> you wrote:
> 
> I'm trying to get as close to a switch statement in hush shell language 
> as possible and thought that a set of if/then/elif/else would be tidier 
> than nested if/then/else. It doesn't work how I expected however. The 
> example below illustrates the problem - I was expecting execution after 
> a true test (in the first 'if' in this case) to continue after the 'fi' 
> but instead it ploughs through all the other executable (echo) 
> statements having skipped the elif statements. It does correctly skip 
> the else clause however :-))

I confirm that this is a bug of HUSH.

The same problem is present in the HUSH  shell  of  the  most  recent
version of BusyBox, too (v1.00-pre7).

> Could someone assist in the navigation of this module to point out where 
> would be a good place to start (i.e. some basic principles and 
> assumptions of how the parser works).

Well, please feel free to dig into the innards  of  HUSH  (using  the
BusyBox implementation is probably much easier to debug).

We will look into this, too - as time permits.

Best regards,

Wolfgang Denk

-- 
See us @ Embedded World, Nuremberg, Feb 17 - 19,  Hall 12.0 Booth 440
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
"One planet is all you get."




More information about the U-Boot mailing list