From 6ae5677190379ad00a57d72f6ef010b17d243f95 Mon Sep 17 00:00:00 2001 From: Herve Codina Date: Mon, 7 Jul 2014 10:45:08 +0200 Subject: hush: Fix error code returned value 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 Signed-off-by: Sascha Hauer --- common/hush.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'common/hush.c') diff --git a/common/hush.c b/common/hush.c index 6be43cf8ea..f6aaa03514 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) -- cgit v1.2.3