diff options
author | Peter Stephenson <p.stephenson@samsung.com> | 2023-03-29 10:52:05 +0100 |
---|---|---|
committer | Peter Stephenson <p.stephenson@samsung.com> | 2023-03-29 10:52:05 +0100 |
commit | 12e5db145b098a62ff11b88eea26f473ea2ecdcf (patch) | |
tree | 147e2f424d37ef02f9fd97cda3477cc79a1e5466 /Src/exec.c | |
parent | 6d40d9b63b41188cc846918e19bbf2982b9305b9 (diff) | |
download | zsh-12e5db145b098a62ff11b88eea26f473ea2ecdcf.tar.gz zsh-12e5db145b098a62ff11b88eea26f473ea2ecdcf.tar.xz zsh-12e5db145b098a62ff11b88eea26f473ea2ecdcf.zip |
51608: Don't execute commands after "continue &&"
Also ! continue ||
Diffstat (limited to 'Src/exec.c')
-rw-r--r-- | Src/exec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Src/exec.c b/Src/exec.c index 3330bbce8..4328975b9 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -1491,7 +1491,7 @@ execlist(Estate state, int dont_change_job, int exiting) * we find a sublist followed by ORNEXT. */ if ((ret = ((WC_SUBLIST_FLAGS(code) & WC_SUBLIST_SIMPLE) ? execsimple(state) : - execpline(state, code, Z_SYNC, 0)))) { + execpline(state, code, Z_SYNC, 0))) || breaks) { state->pc = next; code = *state->pc++; next = state->pc + WC_SUBLIST_SKIP(code); @@ -1524,7 +1524,7 @@ execlist(Estate state, int dont_change_job, int exiting) * we find a sublist followed by ANDNEXT. */ if (!(ret = ((WC_SUBLIST_FLAGS(code) & WC_SUBLIST_SIMPLE) ? execsimple(state) : - execpline(state, code, Z_SYNC, 0)))) { + execpline(state, code, Z_SYNC, 0))) || breaks) { state->pc = next; code = *state->pc++; next = state->pc + WC_SUBLIST_SKIP(code); |