| 1882 |
|
|
| 1883 |
/* See if this recursion is on the forward reference list. If so, adjust the |
/* See if this recursion is on the forward reference list. If so, adjust the |
| 1884 |
reference. */ |
reference. */ |
| 1885 |
|
|
| 1886 |
for (hc = save_hwm; hc < cd->hwm; hc += LINK_SIZE) |
for (hc = save_hwm; hc < cd->hwm; hc += LINK_SIZE) |
| 1887 |
{ |
{ |
| 1888 |
offset = GET(hc, 0); |
offset = GET(hc, 0); |
| 2458 |
/* Get next byte in the pattern */ |
/* Get next byte in the pattern */ |
| 2459 |
|
|
| 2460 |
c = *ptr; |
c = *ptr; |
| 2461 |
|
|
| 2462 |
/* If we are in the pre-compile phase, accumulate the length used for the |
/* If we are in the pre-compile phase, accumulate the length used for the |
| 2463 |
previous cycle of this loop. */ |
previous cycle of this loop. */ |
| 2464 |
|
|
| 4138 |
bravalue = OP_CBRA; |
bravalue = OP_CBRA; |
| 4139 |
save_hwm = cd->hwm; |
save_hwm = cd->hwm; |
| 4140 |
reset_bracount = FALSE; |
reset_bracount = FALSE; |
| 4141 |
|
|
| 4142 |
/* First deal with various "verbs" that can be introduced by '*'. */ |
/* First deal with various "verbs" that can be introduced by '*'. */ |
| 4143 |
|
|
| 4144 |
if (*(++ptr) == '*' && (cd->ctypes[ptr[1]] & ctype_letter) != 0) |
if (*(++ptr) == '*' && (cd->ctypes[ptr[1]] & ctype_letter) != 0) |
| 5127 |
-ESC_g is returned only for these cases. So we don't need to check for < |
-ESC_g is returned only for these cases. So we don't need to check for < |
| 5128 |
or ' if the value is -ESC_g. For the Perl syntax \g{n} the value is |
or ' if the value is -ESC_g. For the Perl syntax \g{n} the value is |
| 5129 |
-ESC_REF+n, and for the Perl syntax \g{name} the result is -ESC_k (as |
-ESC_REF+n, and for the Perl syntax \g{name} the result is -ESC_k (as |
| 5130 |
that is a synonym). */ |
that is a synonym for a named back reference). */ |
| 5131 |
|
|
| 5132 |
if (-c == ESC_g) |
if (-c == ESC_g) |
| 5133 |
{ |
{ |
| 5134 |
const uschar *p; |
const uschar *p; |
| 5135 |
|
save_hwm = cd->hwm; /* Normally this is set when '(' is read */ |
| 5136 |
terminator = (*(++ptr) == '<')? '>' : '\''; |
terminator = (*(++ptr) == '<')? '>' : '\''; |
| 5137 |
|
|
| 5138 |
/* These two statements stop the compiler for warning about possibly |
/* These two statements stop the compiler for warning about possibly |