1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

extended regexp bug fix

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 1998-03-18 08:47:48 +00:00
parent 15281f2e23
commit ae08a031a6
3 changed files with 10 additions and 6 deletions

View file

@ -1848,7 +1848,7 @@ re_compile_pattern(pattern, size, bufp)
c1 = 0;
GET_UNSIGNED_NUMBER(c1);
if (p < pend) PATUNFETCH;
if (!ISDIGIT(c)) PATUNFETCH;
if (c1 >= regnum) {
/* need to get octal */
@ -2892,9 +2892,11 @@ re_match(bufp, string_arg, size, pos, regs)
/* If not end of string, try backtracking. Otherwise done. */
if (d != dend)
{
while (stackp != stackb && (int)stackp[-1] == 1)
POP_FAILURE_POINT();
if (stackp != stackb)
{
/* More failure points to try. */
/* More failure points to try. */
/* If exceeds best match so far, save it. */
if (! best_regs_set || (d > best_regend[0]))
@ -3419,8 +3421,6 @@ re_match(bufp, string_arg, size, pos, regs)
SET_REGS_MATCHED;
break;
}
if (stackp != stackb && (int)stackp[-1] == 1)
POP_FAILURE_POINT();
continue; /* Successfully executed one pattern command; keep going. */
/* Jump here if any matching operation fails. */