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

Diff of /code/trunk/pcre_compile.c

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

revision 461 by ph10, Mon Oct 5 10:59:35 2009 UTC revision 472 by ph10, Fri Dec 11 16:42:50 2009 UTC
# Line 5248  we set the flag only if there is a liter Line 5248  we set the flag only if there is a liter
5248              {              {
5249              cd->external_options = newoptions;              cd->external_options = newoptions;
5250              }              }
5251           else            else
5252              {              {
5253              if ((options & PCRE_IMS) != (newoptions & PCRE_IMS))              if ((options & PCRE_IMS) != (newoptions & PCRE_IMS))
5254                {                {
# Line 5783  int branchfirstbyte, branchreqbyte; Line 5783  int branchfirstbyte, branchreqbyte;
5783  int length;  int length;
5784  int orig_bracount;  int orig_bracount;
5785  int max_bracount;  int max_bracount;
5786    int old_external_options = cd->external_options;
5787  branch_chain bc;  branch_chain bc;
5788    
5789  bc.outer = bcptr;  bc.outer = bcptr;
# Line 5859  for (;;) Line 5860  for (;;)
5860      return FALSE;      return FALSE;
5861      }      }
5862    
5863      /* If the external options have changed during this branch, it means that we
5864      are at the top level, and a leading option setting has been encountered. We
5865      need to re-set the original option values to take account of this so that,
5866      during the pre-compile phase, we know to allow for a re-set at the start of
5867      subsequent branches. */
5868    
5869      if (old_external_options != cd->external_options)
5870        oldims = cd->external_options & PCRE_IMS;
5871    
5872    /* Keep the highest bracket count in case (?| was used and some branch    /* Keep the highest bracket count in case (?| was used and some branch
5873    has fewer than the rest. */    has fewer than the rest. */
5874    
# Line 5969  for (;;) Line 5979  for (;;)
5979      PUT(code, 1, code - start_bracket);      PUT(code, 1, code - start_bracket);
5980      code += 1 + LINK_SIZE;      code += 1 + LINK_SIZE;
5981    
5982      /* Resetting option if needed */      /* Reset options if needed. */
5983    
5984      if ((options & PCRE_IMS) != oldims && *ptr == CHAR_RIGHT_PARENTHESIS)      if ((options & PCRE_IMS) != oldims && *ptr == CHAR_RIGHT_PARENTHESIS)
5985        {        {

Legend:
Removed from v.461  
changed lines
  Added in v.472

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12