1317 |
|
|
1318 |
case OP_CALLOUT: |
case OP_CALLOUT: |
1319 |
case OP_CREF: |
case OP_CREF: |
1320 |
|
case OP_NCREF: |
1321 |
case OP_RREF: |
case OP_RREF: |
1322 |
|
case OP_NRREF: |
1323 |
case OP_DEF: |
case OP_DEF: |
1324 |
code += _pcre_OP_lengths[*code]; |
code += _pcre_OP_lengths[*code]; |
1325 |
break; |
break; |
1434 |
|
|
1435 |
case OP_REVERSE: |
case OP_REVERSE: |
1436 |
case OP_CREF: |
case OP_CREF: |
1437 |
|
case OP_NCREF: |
1438 |
case OP_RREF: |
case OP_RREF: |
1439 |
|
case OP_NRREF: |
1440 |
case OP_DEF: |
case OP_DEF: |
1441 |
case OP_OPT: |
case OP_OPT: |
1442 |
case OP_CALLOUT: |
case OP_CALLOUT: |
4658 |
} |
} |
4659 |
|
|
4660 |
/* Otherwise (did not start with "+" or "-"), start by looking for the |
/* Otherwise (did not start with "+" or "-"), start by looking for the |
4661 |
name. */ |
name. If we find a name, add one to the opcode to change OP_CREF or |
4662 |
|
OP_RREF into OP_NCREF or OP_NRREF. These behave exactly the same, |
4663 |
|
except they record that the reference was originally to a name. The |
4664 |
|
information is used to check duplicate names. */ |
4665 |
|
|
4666 |
slot = cd->name_table; |
slot = cd->name_table; |
4667 |
for (i = 0; i < cd->names_found; i++) |
for (i = 0; i < cd->names_found; i++) |
4676 |
{ |
{ |
4677 |
recno = GET2(slot, 0); |
recno = GET2(slot, 0); |
4678 |
PUT2(code, 2+LINK_SIZE, recno); |
PUT2(code, 2+LINK_SIZE, recno); |
4679 |
|
code[1+LINK_SIZE]++; |
4680 |
} |
} |
4681 |
|
|
4682 |
/* Search the pattern for a forward reference */ |
/* Search the pattern for a forward reference */ |
4685 |
(options & PCRE_EXTENDED) != 0)) > 0) |
(options & PCRE_EXTENDED) != 0)) > 0) |
4686 |
{ |
{ |
4687 |
PUT2(code, 2+LINK_SIZE, i); |
PUT2(code, 2+LINK_SIZE, i); |
4688 |
|
code[1+LINK_SIZE]++; |
4689 |
} |
} |
4690 |
|
|
4691 |
/* If terminator == 0 it means that the name followed directly after |
/* If terminator == 0 it means that the name followed directly after |
6165 |
switch (*scode) |
switch (*scode) |
6166 |
{ |
{ |
6167 |
case OP_CREF: |
case OP_CREF: |
6168 |
|
case OP_NCREF: |
6169 |
case OP_RREF: |
case OP_RREF: |
6170 |
|
case OP_NRREF: |
6171 |
case OP_DEF: |
case OP_DEF: |
6172 |
return FALSE; |
return FALSE; |
6173 |
|
|