diff options
| author | Simon Glass <sjg@chromium.org> | 2011-12-06 19:47:53 +0000 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2012-03-06 21:09:37 +0100 | 
| commit | 7344f9128dfa797a9b9d51b38832f77a1eaeac2d (patch) | |
| tree | 787fe5e87331a57cfdaf48724f7de514b9e9ea1c /common/hush.c | |
| parent | bdf8e34b936e2b94990ab6ce8dd5463d14d173dd (diff) | |
| download | olio-uboot-2014.01-7344f9128dfa797a9b9d51b38832f77a1eaeac2d.tar.xz olio-uboot-2014.01-7344f9128dfa797a9b9d51b38832f77a1eaeac2d.zip | |
Remove interleave of non-U-Boot code in hush
There is a nasty interleave of #ifdefs in hush.c where the two code
paths have different indents. Remove this ickiness.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/hush.c')
| -rw-r--r-- | common/hush.c | 24 | 
1 files changed, 11 insertions, 13 deletions
| diff --git a/common/hush.c b/common/hush.c index 6cb921d4f..3aa9d5011 100644 --- a/common/hush.c +++ b/common/hush.c @@ -1642,6 +1642,15 @@ static int run_pipe_real(struct pipe *pi)  				 * Is it really safe for inline use?  Experimentally,  				 * things seem to work with glibc. */  				setup_redirects(child, squirrel); + +				child->argv += i;  /* XXX horrible hack */ +				rcode = x->function(child); +				/* XXX restore hack so free() can work right */ +				child->argv -= i; +				restore_redirects(squirrel); +			} +			return rcode; +		}  #else  			/* check ";", because ,example , argv consist from  			 * "help;flinfo" must not execute @@ -1674,22 +1683,11 @@ static int run_pipe_real(struct pipe *pi)  				if ((child->argc - i) > cmdtp->maxargs)  					return cmd_usage(cmdtp);  #endif -				child->argv+=i;  /* XXX horrible hack */ -#ifndef __U_BOOT__ -				rcode = x->function(child); -#else  				/* OK - call function to do the command */ -				rcode = cmd_call(cmdtp, flag,  child->argc-i, -						 &child->argv[i]); +				rcode = cmd_call(cmdtp, flag,  child->argc, +						 child->argv);  				if (!cmdtp->repeatable)  					flag_repeat = 0; -#endif -				child->argv-=i;  /* XXX restore hack so free() can work right */ -#ifndef __U_BOOT__ - -				restore_redirects(squirrel); -#endif -  				return rcode;  			}  		} |