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

Diff of /code/trunk/pcre_dfa_exec.c

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

revision 1364 by ph10, Sat Oct 5 15:45:11 2013 UTC revision 1365 by ph10, Sun Oct 6 18:33:56 2013 UTC
# Line 173  static const pcre_uint8 coptable[] = { Line 173  static const pcre_uint8 coptable[] = {
173    0, 0,                          /* ONCE, ONCE_NC                          */    0, 0,                          /* ONCE, ONCE_NC                          */
174    0, 0, 0, 0, 0,                 /* BRA, BRAPOS, CBRA, CBRAPOS, COND       */    0, 0, 0, 0, 0,                 /* BRA, BRAPOS, CBRA, CBRAPOS, COND       */
175    0, 0, 0, 0, 0,                 /* SBRA, SBRAPOS, SCBRA, SCBRAPOS, SCOND  */    0, 0, 0, 0, 0,                 /* SBRA, SBRAPOS, SCBRA, SCBRAPOS, SCOND  */
176    0, 0,                          /* CREF, NCREF                            */    0, 0,                          /* CREF, DNCREF                           */
177    0, 0,                          /* RREF, NRREF                            */    0, 0,                          /* RREF, DNRREF                           */
178    0,                             /* DEF                                    */    0,                             /* DEF                                    */
179    0, 0, 0,                       /* BRAZERO, BRAMINZERO, BRAPOSZERO        */    0, 0, 0,                       /* BRAZERO, BRAMINZERO, BRAPOSZERO        */
180    0, 0, 0,                       /* MARK, PRUNE, PRUNE_ARG                 */    0, 0, 0,                       /* MARK, PRUNE, PRUNE_ARG                 */
# Line 244  static const pcre_uint8 poptable[] = { Line 244  static const pcre_uint8 poptable[] = {
244    0, 0,                          /* ONCE, ONCE_NC                          */    0, 0,                          /* ONCE, ONCE_NC                          */
245    0, 0, 0, 0, 0,                 /* BRA, BRAPOS, CBRA, CBRAPOS, COND       */    0, 0, 0, 0, 0,                 /* BRA, BRAPOS, CBRA, CBRAPOS, COND       */
246    0, 0, 0, 0, 0,                 /* SBRA, SBRAPOS, SCBRA, SCBRAPOS, SCOND  */    0, 0, 0, 0, 0,                 /* SBRA, SBRAPOS, SCBRA, SCBRAPOS, SCOND  */
247    0, 0,                          /* CREF, NCREF                            */    0, 0,                          /* CREF, DNCREF                           */
248    0, 0,                          /* RREF, NRREF                            */    0, 0,                          /* RREF, DNRREF                           */
249    0,                             /* DEF                                    */    0,                             /* DEF                                    */
250    0, 0, 0,                       /* BRAZERO, BRAMINZERO, BRAPOSZERO        */    0, 0, 0,                       /* BRAZERO, BRAMINZERO, BRAPOSZERO        */
251    0, 0, 0,                       /* MARK, PRUNE, PRUNE_ARG                 */    0, 0, 0,                       /* MARK, PRUNE, PRUNE_ARG                 */
# Line 2661  for (;;) Line 2661  for (;;)
2661    
2662          condcode = code[LINK_SIZE+1];          condcode = code[LINK_SIZE+1];
2663    
2664          /* Back reference conditions are not supported */          /* Back reference conditions and duplicate named recursion conditions
2665            are not supported */
2666    
2667          if (condcode == OP_CREF || condcode == OP_NCREF)          if (condcode == OP_CREF || condcode == OP_DNCREF ||
2668                condcode == OP_DNRREF)
2669            return PCRE_ERROR_DFA_UCOND;            return PCRE_ERROR_DFA_UCOND;
2670    
2671          /* The DEFINE condition is always false */          /* The DEFINE condition is always false */
# Line 2675  for (;;) Line 2677  for (;;)
2677          which means "test if in any recursion". We can't test for specifically          which means "test if in any recursion". We can't test for specifically
2678          recursed groups. */          recursed groups. */
2679    
2680          else if (condcode == OP_RREF || condcode == OP_NRREF)          else if (condcode == OP_RREF)
2681            {            {
2682            int value = GET2(code, LINK_SIZE + 2);            int value = GET2(code, LINK_SIZE + 2);
2683            if (value != RREF_ANY) return PCRE_ERROR_DFA_UCOND;            if (value != RREF_ANY) return PCRE_ERROR_DFA_UCOND;

Legend:
Removed from v.1364  
changed lines
  Added in v.1365

  ViewVC Help
Powered by ViewVC 1.1.5