summaryrefslogtreecommitdiff
path: root/regex.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-04-13 05:54:26 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-04-13 05:54:26 +0000
commita48c6de83991f0ad5c8839dae352fc09006c5c1e (patch)
tree80d282df0bf8e75a7c086b19535852b022c7323f /regex.c
parentb52b4a93fde83bf35029b54526257a78595e29ec (diff)
1.2.5 pre
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'regex.c')
-rw-r--r--regex.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/regex.c b/regex.c
index 50bcd6a6d1..a1aeb2ec6f 100644
--- a/regex.c
+++ b/regex.c
@@ -3899,8 +3899,10 @@ re_match(bufp, string_arg, size, pos, regs)
SET_REGS_MATCHED;
break;
}
+#if 0
while (stackp != stackb && (int)stackp[-1] == 1)
POP_FAILURE_POINT();
+#endif
continue; /* Successfully executed one pattern command; keep going. */
/* Jump here if any matching operation fails. */
@@ -3912,7 +3914,7 @@ re_match(bufp, string_arg, size, pos, regs)
/* If this failure point is from a dummy_failure_point, just
skip it. */
- if (stackp[-3] == 0) {
+ if (stackp[-3] == 0 || (best_regs_set && (int)stackp[-1] == 1)) {
POP_FAILURE_POINT();
goto fail;
}