| 389 |
current_subject - start_subject : max_back; |
current_subject - start_subject : max_back; |
| 390 |
current_subject -= gone_back; |
current_subject -= gone_back; |
| 391 |
} |
} |
| 392 |
|
|
| 393 |
|
/* Save the earliest consulted character */ |
| 394 |
|
|
| 395 |
|
if (current_subject < md->start_used_ptr) |
| 396 |
|
md->start_used_ptr = current_subject; |
| 397 |
|
|
| 398 |
/* Now we can process the individual branches. */ |
/* Now we can process the individual branches. */ |
| 399 |
|
|
| 805 |
if (ptr > start_subject) |
if (ptr > start_subject) |
| 806 |
{ |
{ |
| 807 |
const uschar *temp = ptr - 1; |
const uschar *temp = ptr - 1; |
| 808 |
|
if (temp < md->start_used_ptr) md->start_used_ptr = temp; |
| 809 |
#ifdef SUPPORT_UTF8 |
#ifdef SUPPORT_UTF8 |
| 810 |
if (utf8) BACKCHAR(temp); |
if (utf8) BACKCHAR(temp); |
| 811 |
#endif |
#endif |
| 2509 |
{ |
{ |
| 2510 |
if (offsetcount >= 2) |
if (offsetcount >= 2) |
| 2511 |
{ |
{ |
| 2512 |
offsets[0] = current_subject - start_subject; |
offsets[0] = md->start_used_ptr - start_subject; |
| 2513 |
offsets[1] = end_subject - start_subject; |
offsets[1] = end_subject - start_subject; |
| 2514 |
} |
} |
| 2515 |
match_count = PCRE_ERROR_PARTIAL; |
match_count = PCRE_ERROR_PARTIAL; |
| 2942 |
|
|
| 2943 |
/* OK, now we can do the business */ |
/* OK, now we can do the business */ |
| 2944 |
|
|
| 2945 |
|
md->start_used_ptr = current_subject; |
| 2946 |
|
|
| 2947 |
rc = internal_dfa_exec( |
rc = internal_dfa_exec( |
| 2948 |
md, /* fixed match data */ |
md, /* fixed match data */ |
| 2949 |
md->start_code, /* this subexpression's code */ |
md->start_code, /* this subexpression's code */ |