diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2016-11-04 20:52:48 +0300 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2016-11-04 20:52:48 +0300 |
commit | 30bfcf612b0862e4dd98d923eabb308b54012d24 (patch) | |
tree | 2d904e2c9fca9deeda6cfe81c01b9cbdd4b7e573 /shell/hush.c | |
parent | 672a55e606fc50e4ffe7810bd0d9cd1cf9b980a3 (diff) |
hush: non-matching "case" statement sets $? to 0
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush.c')
-rw-r--r-- | shell/hush.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/shell/hush.c b/shell/hush.c index 336de75ad..4c2ed6cea 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -7874,6 +7874,8 @@ static int run_list(struct pipe *pi) #endif #if ENABLE_HUSH_CASE if (rword == RES_CASE) { + /* Case which does not match and execute anything still sets $? to 0 */ + G.last_exitcode = rcode = EXIT_SUCCESS; case_word = expand_strvec_to_string(pi->cmds->argv); continue; } |