| 1130 |
if (ptr[0] == CHAR_LEFT_PARENTHESIS) |
if (ptr[0] == CHAR_LEFT_PARENTHESIS) |
| 1131 |
{ |
{ |
| 1132 |
/* Handle specials such as (*SKIP) or (*UTF8) etc. */ |
/* Handle specials such as (*SKIP) or (*UTF8) etc. */ |
| 1133 |
|
|
| 1134 |
if (ptr[1] == CHAR_ASTERISK) ptr += 2; |
if (ptr[1] == CHAR_ASTERISK) ptr += 2; |
| 1135 |
|
|
| 1136 |
/* Handle a normal, unnamed capturing parenthesis. */ |
/* Handle a normal, unnamed capturing parenthesis. */ |
| 1137 |
|
|
| 1138 |
else if (ptr[1] != CHAR_QUESTION_MARK) |
else if (ptr[1] != CHAR_QUESTION_MARK) |
| 1150 |
ptr += 3; |
ptr += 3; |
| 1151 |
dup_parens = TRUE; |
dup_parens = TRUE; |
| 1152 |
} |
} |
| 1153 |
|
|
| 1154 |
/* Handle comments; all characters are allowed until a ket is reached. */ |
/* Handle comments; all characters are allowed until a ket is reached. */ |
| 1155 |
|
|
| 1156 |
else if (ptr[2] == CHAR_NUMBER_SIGN) |
else if (ptr[2] == CHAR_NUMBER_SIGN) |
| 1157 |
{ |
{ |
| 1158 |
for (ptr += 3; *ptr != 0; ptr++) if (*ptr == CHAR_RIGHT_PARENTHESIS) break; |
for (ptr += 3; *ptr != 0; ptr++) if (*ptr == CHAR_RIGHT_PARENTHESIS) break; |
| 1159 |
goto FAIL_EXIT; |
goto FAIL_EXIT; |
| 1160 |
} |
} |
| 1161 |
|
|
| 1162 |
/* Handle a condition. If it is an assertion, just carry on so that it |
/* Handle a condition. If it is an assertion, just carry on so that it |
| 1163 |
is processed as normal. If not, skip to the closing parenthesis of the |
is processed as normal. If not, skip to the closing parenthesis of the |
| 1295 |
else if (*ptr == CHAR_RIGHT_PARENTHESIS) |
else if (*ptr == CHAR_RIGHT_PARENTHESIS) |
| 1296 |
{ |
{ |
| 1297 |
if (dup_parens && *count < hwm_count) *count = hwm_count; |
if (dup_parens && *count < hwm_count) *count = hwm_count; |
| 1298 |
goto FAIL_EXIT; |
goto FAIL_EXIT; |
| 1299 |
} |
} |
| 1300 |
|
|
| 1301 |
else if (*ptr == CHAR_VERTICAL_LINE && dup_parens) |
else if (*ptr == CHAR_VERTICAL_LINE && dup_parens) |