/[pcre]/code/trunk/pcre_exec.c
ViewVC logotype

Diff of /code/trunk/pcre_exec.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1501 by ph10, Tue May 27 13:18:31 2014 UTC revision 1502 by ph10, Mon Sep 15 13:56:18 2014 UTC
# Line 1175  for (;;) Line 1175  for (;;)
1175              {              {
1176              do ecode += GET(ecode, 1); while (*ecode == OP_ALT);              do ecode += GET(ecode, 1); while (*ecode == OP_ALT);
1177              break;              break;
1178              }              }
1179            eptr = md->end_match_ptr;            eptr = md->end_match_ptr;
1180            continue;            continue;
1181            }            }
# Line 1253  for (;;) Line 1253  for (;;)
1253            {            {
1254            do ecode += GET(ecode, 1); while (*ecode == OP_ALT);            do ecode += GET(ecode, 1); while (*ecode == OP_ALT);
1255            break;            break;
1256            }            }
1257          eptr = md->end_match_ptr;          eptr = md->end_match_ptr;
1258          continue;          continue;
1259          }          }
# Line 1904  for (;;) Line 1904  for (;;)
1904      case OP_KETRMAX:      case OP_KETRMAX:
1905      case OP_KETRPOS:      case OP_KETRPOS:
1906      prev = ecode - GET(ecode, 1);      prev = ecode - GET(ecode, 1);
1907    
1908      /* If this was a group that remembered the subject start, in order to break      /* If this was a group that remembered the subject start, in order to break
1909      infinite repeats of empty string matches, retrieve the subject start from      infinite repeats of empty string matches, retrieve the subject start from
1910      the chain. Otherwise, set it NULL. */      the chain. Otherwise, set it NULL. */
# Line 1929  for (;;) Line 1929  for (;;)
1929        md->start_match_ptr = mstart;        md->start_match_ptr = mstart;
1930        RRETURN(MATCH_MATCH);         /* Sets md->mark */        RRETURN(MATCH_MATCH);         /* Sets md->mark */
1931        }        }
1932    
1933      /* For capturing groups we have to check the group number back at the start      /* For capturing groups we have to check the group number back at the start
1934      and if necessary complete handling an extraction by setting the offsets and      and if necessary complete handling an extraction by setting the offsets and
1935      bumping the high water mark. Whole-pattern recursion is coded as a recurse      bumping the high water mark. Whole-pattern recursion is coded as a recurse
# Line 1991  for (;;) Line 1991  for (;;)
1991    
1992      /* OP_KETRPOS is a possessive repeating ket. Remember the current position,      /* OP_KETRPOS is a possessive repeating ket. Remember the current position,
1993      and return the MATCH_KETRPOS. This makes it possible to do the repeats one      and return the MATCH_KETRPOS. This makes it possible to do the repeats one
1994      at a time from the outer level, thus saving stack. This must precede the      at a time from the outer level, thus saving stack. This must precede the
1995      empty string test - in this case that test is done at the outer level. */      empty string test - in this case that test is done at the outer level. */
1996    
1997      if (*ecode == OP_KETRPOS)      if (*ecode == OP_KETRPOS)

Legend:
Removed from v.1501  
changed lines
  Added in v.1502

  ViewVC Help
Powered by ViewVC 1.1.5