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

Diff of /code/trunk/pcre.c

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

revision 4 by nigel, Sat Feb 24 21:38:01 2007 UTC revision 5 by nigel, Sat Feb 24 21:38:05 2007 UTC
# Line 228  do { Line 228  do {
228      /* Test an embedded subpattern; if it could not be empty, break the      /* Test an embedded subpattern; if it could not be empty, break the
229      loop. Otherwise carry on in the branch. */      loop. Otherwise carry on in the branch. */
230    
231      if ((int)(*cc) >= OP_BRA)      if ((int)(*cc) >= OP_BRA || (int)(*cc) == OP_ONCE)
232        {        {
233        if (!could_be_empty(cc)) break;        if (!could_be_empty(cc)) break;
234        do cc += (cc[1] << 8) + cc[2]; while (*cc == OP_ALT);        do cc += (cc[1] << 8) + cc[2]; while (*cc == OP_ALT);
# Line 272  do { Line 272  do {
272        case OP_MINSTAR:        case OP_MINSTAR:
273        case OP_QUERY:        case OP_QUERY:
274        case OP_MINQUERY:        case OP_MINQUERY:
275          case OP_NOTSTAR:
276          case OP_NOTMINSTAR:
277          case OP_NOTQUERY:
278          case OP_NOTMINQUERY:
279        case OP_TYPESTAR:        case OP_TYPESTAR:
280        case OP_TYPEMINSTAR:        case OP_TYPEMINSTAR:
281        case OP_TYPEQUERY:        case OP_TYPEQUERY:
# Line 292  do { Line 296  do {
296    
297        case OP_CLASS:        case OP_CLASS:
298        case OP_REF:        case OP_REF:
299        cc += (*cc == OP_REF)? 2 : 4 + 2 * cc[2] + cc[3];        cc += (*cc == OP_REF)? 2 : 33;
300    
301        switch (*cc)        switch (*cc)
302          {          {
# Line 2360  for (;;) Line 2364  for (;;)
2364    
2365      /* "Once" brackets are like assertion brackets except that after a match,      /* "Once" brackets are like assertion brackets except that after a match,
2366      the point in the subject string is not moved back. Thus there can never be      the point in the subject string is not moved back. Thus there can never be
2367      a back into the brackets. Check the alternative branches in turn - the      a move back into the brackets. Check the alternative branches in turn - the
2368      matching won't pass the KET for this kind of subpattern. If any one branch      matching won't pass the KET for this kind of subpattern. If any one branch
2369      matches, we carry on, leaving the subject pointer. */      matches, we carry on, leaving the subject pointer. */
2370    

Legend:
Removed from v.4  
changed lines
  Added in v.5

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12