/[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 610 by ph10, Tue Jun 28 15:58:34 2011 UTC revision 613 by ph10, Sat Jul 2 16:59:52 2011 UTC
# Line 1296  for (;;) Line 1296  for (;;)
1296      recursion, continue from after the call. */      recursion, continue from after the call. */
1297    
1298      case OP_ACCEPT:      case OP_ACCEPT:
1299        case OP_ASSERT_ACCEPT:
1300      case OP_END:      case OP_END:
1301      if (md->recursive != NULL)      if (md->recursive != NULL)
1302        {        {
# Line 1311  for (;;) Line 1312  for (;;)
1312          }          }
1313        }        }
1314    
1315      /* Otherwise, if we have matched an empty string, fail if PCRE_NOTEMPTY is      /* Otherwise, if we have matched an empty string, fail if not in an
1316      set, or if PCRE_NOTEMPTY_ATSTART is set and we have matched at the start of      assertion and if either PCRE_NOTEMPTY is set, or if PCRE_NOTEMPTY_ATSTART
1317      the subject. In both cases, backtracking will then try other alternatives,      is set and we have matched at the start of the subject. In both cases,
1318      if any. */      backtracking will then try other alternatives, if any. */
1319    
1320      else if (eptr == mstart &&      else if (eptr == mstart && op != OP_ASSERT_ACCEPT &&
1321          (md->notempty ||          (md->notempty ||
1322            (md->notempty_atstart &&            (md->notempty_atstart &&
1323              mstart == md->start_subject + md->start_offset)))              mstart == md->start_subject + md->start_offset)))
# Line 5899  utf8 = md->utf8 = (re->options & PCRE_UT Line 5900  utf8 = md->utf8 = (re->options & PCRE_UT
5900  md->use_ucp = (re->options & PCRE_UCP) != 0;  md->use_ucp = (re->options & PCRE_UCP) != 0;
5901  md->jscript_compat = (re->options & PCRE_JAVASCRIPT_COMPAT) != 0;  md->jscript_compat = (re->options & PCRE_JAVASCRIPT_COMPAT) != 0;
5902    
5903    /* Some options are unpacked into BOOL variables in the hope that testing
5904    them will be faster than individual option bits. */
5905    
5906  md->notbol = (options & PCRE_NOTBOL) != 0;  md->notbol = (options & PCRE_NOTBOL) != 0;
5907  md->noteol = (options & PCRE_NOTEOL) != 0;  md->noteol = (options & PCRE_NOTEOL) != 0;
5908  md->notempty = (options & PCRE_NOTEMPTY) != 0;  md->notempty = (options & PCRE_NOTEMPTY) != 0;
5909  md->notempty_atstart = (options & PCRE_NOTEMPTY_ATSTART) != 0;  md->notempty_atstart = (options & PCRE_NOTEMPTY_ATSTART) != 0;
5910  md->partial = ((options & PCRE_PARTIAL_HARD) != 0)? 2 :  md->partial = ((options & PCRE_PARTIAL_HARD) != 0)? 2 :
5911                ((options & PCRE_PARTIAL_SOFT) != 0)? 1 : 0;                ((options & PCRE_PARTIAL_SOFT) != 0)? 1 : 0;
5912    
5913    
5914  md->hitend = FALSE;  md->hitend = FALSE;
5915  md->mark = NULL;                        /* In case never set */  md->mark = NULL;                        /* In case never set */
5916    

Legend:
Removed from v.610  
changed lines
  Added in v.613

  ViewVC Help
Powered by ViewVC 1.1.5