/[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 1257 by ph10, Fri Feb 22 20:20:30 2013 UTC revision 1260 by ph10, Wed Feb 27 15:41:22 2013 UTC
# Line 308  enum { RM1=1, RM2,  RM3,  RM4,  RM5,  RM Line 308  enum { RM1=1, RM2,  RM3,  RM4,  RM5,  RM
308         RM31,  RM32, RM33, RM34, RM35, RM36, RM37, RM38, RM39, RM40,         RM31,  RM32, RM33, RM34, RM35, RM36, RM37, RM38, RM39, RM40,
309         RM41,  RM42, RM43, RM44, RM45, RM46, RM47, RM48, RM49, RM50,         RM41,  RM42, RM43, RM44, RM45, RM46, RM47, RM48, RM49, RM50,
310         RM51,  RM52, RM53, RM54, RM55, RM56, RM57, RM58, RM59, RM60,         RM51,  RM52, RM53, RM54, RM55, RM56, RM57, RM58, RM59, RM60,
311         RM61,  RM62, RM63, RM64, RM65, RM66, RM67 };         RM61,  RM62, RM63, RM64, RM65, RM66, RM67, RM68 };
312    
313  /* These versions of the macros use the stack, as normal. There are debugging  /* These versions of the macros use the stack, as normal. There are debugging
314  versions and production versions. Note that the "rw" argument of RMATCH isn't  versions and production versions. Note that the "rw" argument of RMATCH isn't
# Line 2628  for (;;) Line 2628  for (;;)
2628              { if (op == OP_PROP) break; else { RRETURN(MATCH_NOMATCH); } }              { if (op == OP_PROP) break; else { RRETURN(MATCH_NOMATCH); } }
2629            }            }
2630          break;          break;
2631    
2632            case PT_UCNC:
2633            if ((c == CHAR_DOLLAR_SIGN || c == CHAR_COMMERCIAL_AT ||
2634                 c == CHAR_GRAVE_ACCENT || (c >= 0xa0 && c <= 0xd7ff) ||
2635                 c >= 0xe000) == (op == OP_NOTPROP))
2636              RRETURN(MATCH_NOMATCH);
2637            break;
2638    
2639          /* This should never occur */          /* This should never occur */
2640    
# Line 4246  for (;;) Line 4253  for (;;)
4253                }                }
4254              }              }
4255            break;            break;
4256    
4257              case PT_UCNC:
4258              for (i = 1; i <= min; i++)
4259                {
4260                if (eptr >= md->end_subject)
4261                  {
4262                  SCHECK_PARTIAL();
4263                  RRETURN(MATCH_NOMATCH);
4264                  }
4265                GETCHARINCTEST(c, eptr);
4266                if ((c == CHAR_DOLLAR_SIGN || c == CHAR_COMMERCIAL_AT ||
4267                     c == CHAR_GRAVE_ACCENT || (c >= 0xa0 && c <= 0xd7ff) ||
4268                     c >= 0xe000) == prop_fail_result)
4269                  RRETURN(MATCH_NOMATCH);
4270                }
4271              break;
4272    
4273            /* This should not occur */            /* This should not occur */
4274    
# Line 4992  for (;;) Line 5015  for (;;)
5015                }                }
5016              }              }
5017            /* Control never gets here */            /* Control never gets here */
5018    
5019              case PT_UCNC:
5020              for (fi = min;; fi++)
5021                {
5022                RMATCH(eptr, ecode, offset_top, md, eptrb, RM68);
5023                if (rrc != MATCH_NOMATCH) RRETURN(rrc);
5024                if (fi >= max) RRETURN(MATCH_NOMATCH);
5025                if (eptr >= md->end_subject)
5026                  {
5027                  SCHECK_PARTIAL();
5028                  RRETURN(MATCH_NOMATCH);
5029                  }
5030                GETCHARINCTEST(c, eptr);
5031                if ((c == CHAR_DOLLAR_SIGN || c == CHAR_COMMERCIAL_AT ||
5032                     c == CHAR_GRAVE_ACCENT || (c >= 0xa0 && c <= 0xd7ff) ||
5033                     c >= 0xe000) == prop_fail_result)
5034                  RRETURN(MATCH_NOMATCH);
5035                }
5036              /* Control never gets here */
5037    
5038            /* This should never occur */            /* This should never occur */
5039            default:            default:
# Line 5487  for (;;) Line 5529  for (;;)
5529            GOT_MAX:            GOT_MAX:
5530            break;            break;
5531    
5532              case PT_UCNC:
5533              for (i = min; i < max; i++)
5534                {
5535                int len = 1;
5536                if (eptr >= md->end_subject)
5537                  {
5538                  SCHECK_PARTIAL();
5539                  break;
5540                  }
5541                GETCHARLENTEST(c, eptr, len);
5542                if ((c == CHAR_DOLLAR_SIGN || c == CHAR_COMMERCIAL_AT ||
5543                     c == CHAR_GRAVE_ACCENT || (c >= 0xa0 && c <= 0xd7ff) ||
5544                     c >= 0xe000) == prop_fail_result)
5545                  break;
5546                eptr += len;
5547                }
5548              break;
5549    
5550            default:            default:
5551            RRETURN(PCRE_ERROR_INTERNAL);            RRETURN(PCRE_ERROR_INTERNAL);
5552            }            }
# Line 6128  switch (frame->Xwhere) Line 6188  switch (frame->Xwhere)
6188    LBL(32) LBL(34) LBL(42) LBL(46)    LBL(32) LBL(34) LBL(42) LBL(46)
6189  #ifdef SUPPORT_UCP  #ifdef SUPPORT_UCP
6190    LBL(36) LBL(37) LBL(38) LBL(39) LBL(40) LBL(41) LBL(44) LBL(45)    LBL(36) LBL(37) LBL(38) LBL(39) LBL(40) LBL(41) LBL(44) LBL(45)
6191    LBL(59) LBL(60) LBL(61) LBL(62) LBL(67)    LBL(59) LBL(60) LBL(61) LBL(62) LBL(67) LBL(68)
6192  #endif  /* SUPPORT_UCP */  #endif  /* SUPPORT_UCP */
6193  #endif  /* SUPPORT_UTF */  #endif  /* SUPPORT_UTF */
6194    default:    default:

Legend:
Removed from v.1257  
changed lines
  Added in v.1260

  ViewVC Help
Powered by ViewVC 1.1.5