| 127 |
case OP_BRAPOS: |
case OP_BRAPOS: |
| 128 |
case OP_SBRAPOS: |
case OP_SBRAPOS: |
| 129 |
case OP_ONCE: |
case OP_ONCE: |
| 130 |
|
case OP_ONCE_NC: |
| 131 |
d = find_minlength(cc, startcode, options, recurse_depth); |
d = find_minlength(cc, startcode, options, recurse_depth); |
| 132 |
if (d < 0) return d; |
if (d < 0) return d; |
| 133 |
branchlength += d; |
branchlength += d; |
| 286 |
cc++; |
cc++; |
| 287 |
break; |
break; |
| 288 |
|
|
| 289 |
/* The single-byte matcher means we can't proceed in UTF-8 mode */ |
/* The single-byte matcher means we can't proceed in UTF-8 mode. (In |
| 290 |
|
non-UTF-8 mode \C will actually be turned into OP_ALLANY, so won't ever |
| 291 |
|
appear, but leave the code, just in case.) */ |
| 292 |
|
|
| 293 |
case OP_ANYBYTE: |
case OP_ANYBYTE: |
| 294 |
#ifdef SUPPORT_UTF8 |
#ifdef SUPPORT_UTF8 |
| 425 |
|
|
| 426 |
case OP_RECURSE: |
case OP_RECURSE: |
| 427 |
cs = ce = (uschar *)startcode + GET(cc, 1); |
cs = ce = (uschar *)startcode + GET(cc, 1); |
|
if (cs == NULL) return -2; |
|
| 428 |
do ce += GET(ce, 1); while (*ce == OP_ALT); |
do ce += GET(ce, 1); while (*ce == OP_ALT); |
| 429 |
if ((cc > cs && cc < ce) || recurse_depth > 10) |
if ((cc > cs && cc < ce) || recurse_depth > 10) |
| 430 |
had_recurse = TRUE; |
had_recurse = TRUE; |
| 493 |
case OP_MARK: |
case OP_MARK: |
| 494 |
case OP_PRUNE_ARG: |
case OP_PRUNE_ARG: |
| 495 |
case OP_SKIP_ARG: |
case OP_SKIP_ARG: |
|
cc += _pcre_OP_lengths[op] + cc[1]; |
|
|
break; |
|
|
|
|
| 496 |
case OP_THEN_ARG: |
case OP_THEN_ARG: |
| 497 |
cc += _pcre_OP_lengths[op] + cc[1+LINK_SIZE]; |
cc += _pcre_OP_lengths[op] + cc[1]; |
| 498 |
break; |
break; |
| 499 |
|
|
| 500 |
/* The remaining opcodes are just skipped over. */ |
/* The remaining opcodes are just skipped over. */ |
| 809 |
case OP_CBRAPOS: |
case OP_CBRAPOS: |
| 810 |
case OP_SCBRAPOS: |
case OP_SCBRAPOS: |
| 811 |
case OP_ONCE: |
case OP_ONCE: |
| 812 |
|
case OP_ONCE_NC: |
| 813 |
case OP_ASSERT: |
case OP_ASSERT: |
| 814 |
rc = set_start_bits(tcode, start_bits, utf8, cd); |
rc = set_start_bits(tcode, start_bits, utf8, cd); |
| 815 |
if (rc == SSB_FAIL || rc == SSB_UNKNOWN) return rc; |
if (rc == SSB_FAIL || rc == SSB_UNKNOWN) return rc; |