[PATCH 1/1] hush: Fix error code returned value

Herve Codina Herve.CODINA at celad.com
Mon Jul 7 01:45:08 PDT 2014


Just returns error code instead of 0 or 1.

With this fix, $? is set to child exit code in all cases.
Without this fix, /child $PATH;echo $? displays 1 even if
child script calls exit with a specific non zero error code.

Signed-off-by: Herve Codina <Herve.CODINA at celad.com>
---
 common/hush.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/hush.c b/common/hush.c
index 6be43cf..f6aaa03 100644
--- a/common/hush.c
+++ b/common/hush.c
@@ -1724,7 +1724,7 @@ static int parse_stream_outer(struct p_context *ctx, struct in_str *inp, int fla
 		b_free(&temp);
 	} while (rcode != -1 && !(flag & FLAG_EXIT_FROM_LOOP));   /* loop on syntax errors, return on EOF */
 
-	return (code != 0) ? 1 : 0;
+	return code;
 }
 
 static int parse_string_outer(struct p_context *ctx, const char *s, int flag)
-- 
1.7.9.5




More information about the barebox mailing list