/[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 543 by ph10, Tue Jun 15 16:33:29 2010 UTC revision 545 by ph10, Wed Jun 16 10:51:15 2010 UTC
# Line 5959  for(;;) Line 5959  for(;;)
5959        while (start_match < end_subject)        while (start_match < end_subject)
5960          {          {
5961          register unsigned int c = *start_match;          register unsigned int c = *start_match;
5962          if ((start_bits[c/8] & (1 << (c&7))) == 0)          if ((start_bits[c/8] & (1 << (c&7))) == 0)
5963            {            {
5964            start_match++;            start_match++;
5965  #ifdef SUPPORT_UTF8  #ifdef SUPPORT_UTF8
5966            if (utf8)            if (utf8)
5967              while(start_match < end_subject && (*start_match & 0xc0) == 0x80)              while(start_match < end_subject && (*start_match & 0xc0) == 0x80)
5968                start_match++;                start_match++;
5969  #endif  #endif
5970            }            }
5971          else break;          else break;
5972          }          }
# Line 6069  for(;;) Line 6069  for(;;)
6069    
6070    switch(rc)    switch(rc)
6071      {      {
6072      /* SKIP passes back the next starting point explicitly, but if it is the      /* SKIP passes back the next starting point explicitly, but if it is the
6073      same as the match we have just done, treat it as NOMATCH. */      same as the match we have just done, treat it as NOMATCH. */
6074    
6075      case MATCH_SKIP:      case MATCH_SKIP:
6076      if (md->start_match_ptr != start_match)      if (md->start_match_ptr != start_match)
6077        {        {
6078        new_start_match = md->start_match_ptr;        new_start_match = md->start_match_ptr;
6079        break;        break;
6080        }        }
6081      /* Fall through */      /* Fall through */
6082    
6083      /* If MATCH_SKIP_ARG reaches this level it means that a MARK that matched      /* If MATCH_SKIP_ARG reaches this level it means that a MARK that matched
6084      the SKIP's arg was not found. We also treat this as NOMATCH. */      the SKIP's arg was not found. We also treat this as NOMATCH. */
6085    
6086      case MATCH_SKIP_ARG:      case MATCH_SKIP_ARG:
6087      /* Fall through */      /* Fall through */
6088    
6089      /* NOMATCH and PRUNE advance by one character. THEN at this level acts      /* NOMATCH and PRUNE advance by one character. THEN at this level acts
6090      exactly like PRUNE. */      exactly like PRUNE. */

Legend:
Removed from v.543  
changed lines
  Added in v.545

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12