about summary refs log tree commit diff
path: root/Src/loop.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-01-19 21:36:00 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-01-19 21:36:00 +0000
commitde272e0309bc1739f13cc8271a2f94bcde7ba23c (patch)
treed094cb847e41520af34ef250e4c82eea66f52016 /Src/loop.c
parenta5729be83502b3d2ba93e38a485393c9af13a935 (diff)
downloadzsh-de272e0309bc1739f13cc8271a2f94bcde7ba23c.tar.gz
zsh-de272e0309bc1739f13cc8271a2f94bcde7ba23c.tar.xz
zsh-de272e0309bc1739f13cc8271a2f94bcde7ba23c.zip
23115: ";|" at end of case clause causes later patterns to be tested
Diffstat (limited to 'Src/loop.c')
-rw-r--r--Src/loop.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/Src/loop.c b/Src/loop.c
index 7037ddc82..b20e379b8 100644
--- a/Src/loop.c
+++ b/Src/loop.c
@@ -606,9 +606,10 @@ execcase(Estate state, int do_exec)
 		execlist(state, 1, ((WC_CASE_TYPE(code) == WC_CASE_OR) &&
 				    do_exec));
 	    }
-	    break;
-	} else
-	    state->pc = next;
+	    if (WC_CASE_TYPE(code) != WC_CASE_TESTAND)
+		break;
+	}
+	state->pc = next;
     }
     cmdpop();