hush fixes and cleanups

Sascha Hauer s.hauer at pengutronix.de
Mon Apr 30 07:19:15 EDT 2012


The following series generally cleans up the hush code and fixes
some longstanding bugs.

Since busybox hush has evolved a lot (looks completely different than
our version) and U-Boots hush version does not evolve much (so no useful
commits there) it's no longer worth to keep the original coding style,
so this series cleans up the coding style making it better readable.

Also some longstanding bugs are fixed. It is now possible to echo ' and "
to the console. These quotes were either removed or were printed with
the preceeding \ to the console. Also the quotes from the stream are now
removed at the end of parsing which means that a

me=sascha; echo "hello $me"

now correctly passed as

argv[1] = "hello sascha"

instead of

argv[1] = "hello", argv[2] = "sascha".

Also the bug that hush expands glob wildcards at the beginning of a
script instead of right before executing a command is fixed. This
makes the 'hush hack' script in the default environment unnecessary.

Sascha

----------------------------------------------------------------
Sascha Hauer (13):
      hush: safe indention level by continueing a loop
      hush: safe an indention level by continueing a loop
      hush: cleanup coding style
      hush: remove bogus 'else'
      hush: run_pipe_real must have num_progs == 1
      hush: run_pipe_real: bail out early to safe an indention level
      hush: remove quotes at end of processing
      hush: simplify globhack
      hush: pass GLOB_NOCHECK to glob
      glob: activate GLOB_NOCHECK flag
      hush: Fix globbing
      hush: allow to run interactive shell in do_sh
      defaultenv: remove now unnecessary hush-hack

 common/hush.c            |  779 ++++++++++++++++++++++++++++------------------
 defaultenv/bin/hush_hack |    1 -
 defaultenv/bin/init      |    5 +-
 lib/glob.c               |   10 +-
 4 files changed, 476 insertions(+), 319 deletions(-)
 delete mode 100644 defaultenv/bin/hush_hack



More information about the barebox mailing list