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

Diff of /code/trunk/pcre_jit_compile.c

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

revision 1587 by zherczeg, Sat Aug 8 06:02:16 2015 UTC revision 1591 by zherczeg, Tue Aug 11 05:41:09 2015 UTC
# Line 1064  pcre_uchar *alternative; Line 1064  pcre_uchar *alternative;
1064  pcre_uchar *end = NULL;  pcre_uchar *end = NULL;
1065  int private_data_ptr = *private_data_start;  int private_data_ptr = *private_data_start;
1066  int space, size, bracketlen;  int space, size, bracketlen;
1067    BOOL repeat_check = TRUE;
1068    
1069  while (cc < ccend)  while (cc < ccend)
1070    {    {
# Line 1073  while (cc < ccend) Line 1074  while (cc < ccend)
1074    if (private_data_ptr > SLJIT_MAX_LOCAL_SIZE)    if (private_data_ptr > SLJIT_MAX_LOCAL_SIZE)
1075      break;      break;
1076    
1077    if (*cc == OP_ONCE || *cc == OP_ONCE_NC || *cc == OP_BRA || *cc == OP_CBRA || *cc == OP_COND)    if (repeat_check && (*cc == OP_ONCE || *cc == OP_ONCE_NC || *cc == OP_BRA || *cc == OP_CBRA || *cc == OP_COND))
1078        {
1079      if (detect_repeat(common, cc))      if (detect_repeat(common, cc))
1080        {        {
1081        /* These brackets are converted to repeats, so no global        /* These brackets are converted to repeats, so no global
# Line 1081  while (cc < ccend) Line 1083  while (cc < ccend)
1083        if (cc >= end)        if (cc >= end)
1084          end = bracketend(cc);          end = bracketend(cc);
1085        }        }
1086        }
1087      repeat_check = TRUE;
1088    
1089    switch(*cc)    switch(*cc)
1090      {      {
# Line 1136  while (cc < ccend) Line 1140  while (cc < ccend)
1140      bracketlen = 1 + LINK_SIZE + IMM2_SIZE;      bracketlen = 1 + LINK_SIZE + IMM2_SIZE;
1141      break;      break;
1142    
1143        case OP_BRAZERO:
1144        case OP_BRAMINZERO:
1145        case OP_BRAPOSZERO:
1146        repeat_check = FALSE;
1147        size = 1;
1148        break;
1149    
1150      CASE_ITERATOR_PRIVATE_DATA_1      CASE_ITERATOR_PRIVATE_DATA_1
1151      space = 1;      space = 1;
1152      size = -2;      size = -2;

Legend:
Removed from v.1587  
changed lines
  Added in v.1591

  ViewVC Help
Powered by ViewVC 1.1.5