diff options
author | Barton E. Schaefer <schaefer@zsh.org> | 2015-09-30 20:01:13 -0700 |
---|---|---|
committer | Barton E. Schaefer <schaefer@zsh.org> | 2015-09-30 20:01:13 -0700 |
commit | 2bf4f667fb41a8aba139e3ef93b1ebcd9f3e016d (patch) | |
tree | ce171de2df6ec89cf94520d29afa52c110eb167f /Src/loop.c | |
parent | d1a810b000296bac43b114af526b0787068ae3ba (diff) | |
download | zsh-2bf4f667fb41a8aba139e3ef93b1ebcd9f3e016d.tar.gz zsh-2bf4f667fb41a8aba139e3ef93b1ebcd9f3e016d.tar.xz zsh-2bf4f667fb41a8aba139e3ef93b1ebcd9f3e016d.zip |
36707: distinguish ERR_RETURN value of retflag so that execif() can ignore it in the test sublist
Diffstat (limited to 'Src/loop.c')
-rw-r--r-- | Src/loop.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Src/loop.c b/Src/loop.c index 4def9b652..7d1528efe 100644 --- a/Src/loop.c +++ b/Src/loop.c @@ -552,8 +552,12 @@ execif(Estate state, int do_exec) run = 1; break; } - if (retflag) - break; + if (retflag) { + if (retflag == 2) + retflag = 0; /* Never ERR_RETURN here */ + else + break; + } s = 1; state->pc = next; } |