| line |
true |
false |
branch |
|
239
|
0 |
0 |
if (!ret) |
|
282
|
0 |
0 |
if (dfa->init_state != dfa->init_state_word) |
|
284
|
0 |
0 |
if (dfa->init_state != dfa->init_state_nl) |
|
286
|
0 |
0 |
if (dfa->init_state != dfa->init_state_begbuf) |
|
300
|
0 |
0 |
if (icase) |
|
|
0 |
0 |
if (icase) |
|
|
0 |
0 |
if (icase) |
|
|
0 |
0 |
if (icase) |
|
|
0 |
0 |
if (icase) |
|
|
0 |
0 |
if (icase) |
|
313
|
0 |
0 |
bool icase = (dfa->mb_cur_max == 1 && (bufp->syntax & RE_ICASE)); |
|
|
0 |
0 |
bool icase = (dfa->mb_cur_max == 1 && (bufp->syntax & RE_ICASE)); |
|
314
|
0 |
0 |
for (node_cnt = 0; node_cnt < init_state->nodes.nelem; ++node_cnt) |
|
319
|
0 |
0 |
if (type == CHARACTER) |
|
323
|
0 |
0 |
if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) |
|
|
0 |
0 |
if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) |
|
332
|
0 |
0 |
while (++node < dfa->nodes_len |
|
333
|
0 |
0 |
&& dfa->nodes[node].type == CHARACTER |
|
334
|
0 |
0 |
&& dfa->nodes[node].mb_partial) |
|
337
|
0 |
0 |
if (rpl__mbrtowc (&wc, (const char *) buf, p - buf, |
|
339
|
0 |
0 |
&& (rpl__wcrtomb ((char *) buf, rpl__towlower (wc), &state) |
|
345
|
0 |
0 |
else if (type == SIMPLE_BRACKET) |
|
348
|
0 |
0 |
for (i = 0, ch = 0; i < BITSET_WORDS; ++i) |
|
352
|
0 |
0 |
for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) |
|
353
|
0 |
0 |
if (w & ((bitset_word_t) 1 << j)) |
|
358
|
0 |
0 |
else if (type == COMPLEX_BRACKET) |
|
387
|
0 |
0 |
if (dfa->mb_cur_max > 1 |
|
388
|
0 |
0 |
&& (cset->nchar_classes || cset->non_match || cset->nranges |
|
|
0 |
0 |
&& (cset->nchar_classes || cset->non_match || cset->nranges |
|
|
0 |
0 |
&& (cset->nchar_classes || cset->non_match || cset->nranges |
|
390
|
0 |
0 |
|| cset->nequiv_classes |
|
399
|
0 |
0 |
if (rpl__mbrtowc (NULL, (char *) &c, 1, &mbs) == (size_t) -2) |
|
402
|
0 |
0 |
while (++c != 0); |
|
408
|
0 |
0 |
for (i = 0; i < cset->nmbchars; ++i) |
|
413
|
0 |
0 |
if (rpl__wcrtomb (buf, cset->mbchars[i], &state) != (size_t) -1) |
|
415
|
0 |
0 |
if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) |
|
|
0 |
0 |
if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1) |
|
417
|
0 |
0 |
if (rpl__wcrtomb (buf, rpl__towlower (cset->mbchars[i]), &state) |
|
425
|
0 |
0 |
else if (type == OP_PERIOD |
|
427
|
0 |
0 |
|| type == OP_UTF8_PERIOD |
|
429
|
0 |
0 |
|| type == END_OF_RE) |
|
432
|
0 |
0 |
if (type == END_OF_RE) |
|
480
|
0 |
0 |
: RE_SYNTAX_POSIX_BASIC); |
|
488
|
0 |
0 |
if (BE (preg->fastmap == NULL, 0)) |
|
491
|
0 |
0 |
syntax |= (cflags & REG_ICASE) ? RE_ICASE : 0; |
|
494
|
0 |
0 |
if (cflags & REG_NEWLINE) |
|
510
|
0 |
0 |
if (ret == REG_ERPAREN) |
|
514
|
0 |
0 |
if (BE (ret == REG_NOERROR, 1)) |
|
521
|
0 |
0 |
re_free (preg->fastmap); |
|
540
|
0 |
0 |
if (BE (errcode < 0 |
|
|
0 |
0 |
if (BE (errcode < 0 |
|
553
|
0 |
0 |
if (BE (errbuf_size != 0, 1)) |
|
556
|
0 |
0 |
if (BE (msg_size > errbuf_size, 0)) |
|
605
|
6 |
0 |
if (dfa->nodes) |
|
606
|
48 |
6 |
for (i = 0; i < dfa->nodes_len; ++i) |
|
608
|
6 |
0 |
re_free (dfa->nexts); |
|
609
|
48 |
6 |
for (i = 0; i < dfa->nodes_len; ++i) |
|
611
|
48 |
0 |
if (dfa->eclosures != NULL) |
|
612
|
48 |
0 |
re_node_set_free (dfa->eclosures + i); |
|
613
|
15 |
33 |
if (dfa->inveclosures != NULL) |
|
614
|
15 |
0 |
re_node_set_free (dfa->inveclosures + i); |
|
615
|
48 |
0 |
if (dfa->edests != NULL) |
|
616
|
14 |
34 |
re_node_set_free (dfa->edests + i); |
|
618
|
6 |
0 |
re_free (dfa->edests); |
|
619
|
6 |
0 |
re_free (dfa->eclosures); |
|
620
|
2 |
4 |
re_free (dfa->inveclosures); |
|
621
|
6 |
0 |
re_free (dfa->nodes); |
|
623
|
6 |
0 |
if (dfa->state_table) |
|
624
|
96 |
6 |
for (i = 0; i <= dfa->state_hash_mask; ++i) |
|
627
|
30 |
96 |
for (j = 0; j < entry->num; ++j) |
|
632
|
27 |
69 |
re_free (entry->array); |
|
634
|
6 |
0 |
re_free (dfa->state_table); |
|
636
|
6 |
0 |
if (dfa->sb_char != utf8_sb_map) |
|
637
|
6 |
0 |
re_free (dfa->sb_char); |
|
639
|
0 |
6 |
re_free (dfa->subexp_map); |
|
644
|
6 |
0 |
re_free (dfa); |
|
654
|
6 |
0 |
if (BE (dfa != NULL, 1)) |
|
662
|
0 |
6 |
re_free (preg->fastmap); |
|
665
|
0 |
6 |
re_free (preg->translate); |
|
765
|
6 |
0 |
if (BE (preg->allocated < sizeof (re_dfa_t), 0)) |
|
771
|
6 |
0 |
if (preg->buffer == NULL) { |
|
784
|
0 |
6 |
if (BE (err != REG_NOERROR, 0)) |
|
799
|
0 |
6 |
if (BE (err != REG_NOERROR, 0)) |
|
814
|
0 |
6 |
if (BE (dfa->str_tree == NULL, 0)) |
|
819
|
0 |
6 |
if (BE (err != REG_NOERROR, 0)) |
|
824
|
0 |
6 |
if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL) |
|
|
0 |
0 |
if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL) |
|
|
0 |
0 |
if (dfa->is_utf8 && !(syntax & RE_ICASE) && preg->translate == NULL) |
|
835
|
0 |
6 |
if (BE (err != REG_NOERROR, 0)) |
|
864
|
0 |
6 |
MAX (sizeof (struct re_state_table_entry), |
|
|
0 |
0 |
MAX (sizeof (struct re_state_table_entry), |
|
|
0 |
6 |
MAX (sizeof (struct re_state_table_entry), |
|
879
|
0 |
6 |
if (BE (MIN (IDX_MAX, SIZE_MAX / max_object_size) / 2 <= pat_len, 0)) |
|
883
|
0 |
6 |
re_malloc (dfa->nodes, re_token_t, dfa->nodes_alloc); |
|
887
|
6 |
24 |
if (table_size > pat_len) |
|
890
|
0 |
6 |
re_calloc(dfa->state_table, struct re_state_table_entry, table_size); |
|
920
|
6 |
0 |
if (dfa->mb_cur_max > 1) |
|
922
|
0 |
6 |
if (dfa->is_utf8) |
|
930
|
0 |
6 |
if (BE (dfa->sb_char == NULL, 0)) |
|
934
|
24 |
6 |
for (i = 0, ch = 0; i < BITSET_WORDS; ++i) |
|
935
|
1536 |
24 |
for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) |
|
938
|
768 |
768 |
if (wch != rpl__WEOF) |
|
941
|
768 |
768 |
if (rpl__isascii (ch) && wch != ch) |
|
|
0 |
768 |
if (rpl__isascii (ch) && wch != ch) |
|
949
|
6 |
0 |
if (BE (dfa->nodes == NULL || dfa->state_table == NULL, 0)) |
|
|
0 |
6 |
if (BE (dfa->nodes == NULL || dfa->state_table == NULL, 0)) |
|
966
|
0 |
0 |
if (BE (dfa->map_notascii == 0, 1)) |
|
990
|
0 |
0 |
if (BE (dfa->is_utf8, 1)) |
|
998
|
0 |
0 |
for (; i < BITSET_WORDS; ++i) |
|
999
|
0 |
0 |
for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch) |
|
1000
|
0 |
0 |
if (rpl__isalnum (ch) || ch == '_') |
|
|
0 |
0 |
if (rpl__isalnum (ch) || ch == '_') |
|
1011
|
8 |
6 |
for (storage = dfa->str_tree_storage; storage; storage = next) |
|
1014
|
8 |
0 |
re_free (storage); |
|
1019
|
6 |
0 |
re_free (dfa->org_indices); |
|
1037
|
0 |
6 |
if (BE (err != REG_NOERROR, 0)) |
|
1044
|
0 |
6 |
if (dfa->nbackref > 0) |
|
1045
|
0 |
0 |
for (i = 0; i < init_nodes.nelem; ++i) |
|
1051
|
0 |
0 |
if (type != OP_BACK_REF) |
|
1053
|
0 |
0 |
for (clexp_idx = 0; clexp_idx < init_nodes.nelem; ++clexp_idx) |
|
1057
|
0 |
0 |
if (clexp_node->type == OP_CLOSE_SUBEXP |
|
1058
|
0 |
0 |
&& clexp_node->opr.idx == dfa->nodes[node_idx].opr.idx) |
|
1061
|
0 |
0 |
if (clexp_idx == init_nodes.nelem) |
|
1064
|
0 |
0 |
if (type == OP_BACK_REF) |
|
1067
|
0 |
0 |
if (!re_node_set_contains (aTHX_ &init_nodes, dest_idx)) |
|
1071
|
0 |
0 |
if (merge_err != REG_NOERROR) |
|
1081
|
0 |
6 |
if (BE (dfa->init_state == NULL, 0)) |
|
1083
|
0 |
6 |
if (dfa->init_state->has_constraint) |
|
1093
|
0 |
0 |
if (BE (dfa->init_state_word == NULL || dfa->init_state_nl == NULL |
|
|
0 |
0 |
if (BE (dfa->init_state_word == NULL || dfa->init_state_nl == NULL |
|
|
0 |
0 |
if (BE (dfa->init_state_word == NULL || dfa->init_state_nl == NULL |
|
|
0 |
0 |
if (BE (dfa->init_state_word == NULL || dfa->init_state_nl == NULL |
|
1101
|
6 |
0 |
re_node_set_free (&init_nodes); |
|
1118
|
0 |
0 |
for (node = 0; node < dfa->nodes_len; ++node) |
|
1122
|
0 |
0 |
if (dfa->nodes[node].opr.c >= ASCII_CHARS) |
|
1126
|
0 |
0 |
switch (dfa->nodes[node].opr.ctx_type) |
|
1158
|
0 |
0 |
for (i = ASCII_CHARS / BITSET_WORD_BITS; i < BITSET_WORDS; ++i) |
|
1160
|
0 |
0 |
if (dfa->nodes[node].opr.sbcset[i] >> rshift != 0) |
|
1170
|
0 |
0 |
if (mb_chars || has_period) |
|
|
0 |
0 |
if (mb_chars || has_period) |
|
1171
|
0 |
0 |
for (node = 0; node < dfa->nodes_len; ++node) |
|
1173
|
0 |
0 |
if (dfa->nodes[node].type == CHARACTER |
|
1174
|
0 |
0 |
&& dfa->nodes[node].opr.c >= ASCII_CHARS) |
|
1176
|
0 |
0 |
else if (dfa->nodes[node].type == OP_PERIOD) |
|
1183
|
0 |
0 |
dfa->has_mb_node = dfa->nbackref > 0 || has_period; |
|
|
0 |
0 |
dfa->has_mb_node = dfa->nbackref > 0 || has_period; |
|
1197
|
0 |
6 |
re_malloc (dfa->nexts, Idx, dfa->nodes_alloc); |
|
1198
|
0 |
6 |
re_malloc (dfa->org_indices, Idx, dfa->nodes_alloc); |
|
1199
|
0 |
6 |
re_malloc (dfa->edests, re_node_set, dfa->nodes_alloc); |
|
1200
|
0 |
6 |
re_malloc (dfa->eclosures, re_node_set, dfa->nodes_alloc); |
|
1201
|
5 |
1 |
if (preg->re_nsub > 0) { |
|
1202
|
0 |
5 |
re_malloc (dfa->subexp_map, Idx, preg->re_nsub); |
|
1206
|
5 |
1 |
if (dfa->subexp_map != NULL) |
|
1209
|
6 |
5 |
for (i = 0; i < preg->re_nsub; i++) |
|
1212
|
6 |
5 |
for (i = 0; i < preg->re_nsub; i++) |
|
1213
|
0 |
6 |
if (dfa->subexp_map[i] != i) |
|
1215
|
5 |
0 |
if (i == preg->re_nsub) |
|
1217
|
5 |
0 |
re_free (dfa->subexp_map); |
|
1223
|
0 |
6 |
if (BE (ret != REG_NOERROR, 0)) |
|
1226
|
0 |
6 |
if (BE (ret != REG_NOERROR, 0)) |
|
1230
|
0 |
6 |
if (BE (ret != REG_NOERROR, 0)) |
|
1233
|
0 |
6 |
if (BE (ret != REG_NOERROR, 0)) |
|
1238
|
6 |
0 |
if ((!preg->no_sub && preg->re_nsub > 0 && dfa->has_plural_match) |
|
|
5 |
1 |
if ((!preg->no_sub && preg->re_nsub > 0 && dfa->has_plural_match) |
|
|
3 |
2 |
if ((!preg->no_sub && preg->re_nsub > 0 && dfa->has_plural_match) |
|
1239
|
0 |
4 |
|| dfa->nbackref) |
|
1241
|
0 |
2 |
re_malloc (dfa->inveclosures, re_node_set, dfa->nodes_len); |
|
1261
|
74 |
80 |
while (node->left || node->right) |
|
|
0 |
80 |
while (node->left || node->right) |
|
1262
|
74 |
0 |
if (node->left) |
|
1270
|
0 |
154 |
if (BE (err != REG_NOERROR, 0)) |
|
1272
|
12 |
142 |
if (node->parent == NULL) |
|
1278
|
68 |
74 |
while (node->right == prev || node->right == NULL); |
|
|
6 |
68 |
while (node->right == prev || node->right == NULL); |
|
1292
|
0 |
217 |
if (BE (err != REG_NOERROR, 0)) |
|
1296
|
103 |
114 |
if (node->left) |
|
1301
|
211 |
103 |
while (node->right == prev || node->right == NULL) |
|
|
6 |
97 |
while (node->right == prev || node->right == NULL) |
|
1305
|
17 |
200 |
if (!node) |
|
1321
|
0 |
45 |
if (node->token.type == OP_BACK_REF && dfa->subexp_map) |
|
|
0 |
0 |
if (node->token.type == OP_BACK_REF && dfa->subexp_map) |
|
1328
|
6 |
39 |
else if (node->token.type == SUBEXP |
|
1329
|
6 |
0 |
&& node->left && node->left->token.type == SUBEXP) |
|
|
0 |
6 |
&& node->left && node->left->token.type == SUBEXP) |
|
1334
|
0 |
0 |
if (node->left) |
|
1338
|
0 |
0 |
if (other_idx < BITSET_WORD_BITS) |
|
1353
|
34 |
34 |
if (node->left && node->left->token.type == SUBEXP) |
|
|
5 |
29 |
if (node->left && node->left->token.type == SUBEXP) |
|
1356
|
5 |
0 |
if (node->left) |
|
1359
|
28 |
40 |
if (node->right && node->right->token.type == SUBEXP) |
|
|
1 |
27 |
if (node->right && node->right->token.type == SUBEXP) |
|
1362
|
1 |
0 |
if (node->right) |
|
1376
|
0 |
6 |
if (preg->no_sub |
|
1381
|
0 |
0 |
&& node->left != NULL |
|
1382
|
0 |
0 |
&& (node->token.opr.idx >= BITSET_WORD_BITS |
|
1383
|
0 |
0 |
|| !(dfa->used_bkref_map |
|
1391
|
6 |
0 |
tree1 = body ? create_tree (aTHX_ dfa, body, cls, CONCAT) : cls; |
|
1393
|
6 |
0 |
if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0)) |
|
|
0 |
6 |
if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0)) |
|
|
6 |
0 |
if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0)) |
|
|
0 |
6 |
if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0)) |
|
|
6 |
0 |
if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0)) |
|
|
0 |
6 |
if (BE (tree == NULL || tree1 == NULL || op == NULL || cls == NULL, 0)) |
|
1410
|
38 |
48 |
if (node->token.type == CONCAT) |
|
1419
|
0 |
48 |
if (BE (node->node_idx == REG_MISSING, 0)) |
|
1421
|
0 |
48 |
if (node->token.type == ANCHOR) |
|
1441
|
2 |
46 |
if (node->left) |
|
1443
|
2 |
46 |
if (node->right) |
|
1472
|
2 |
0 |
if (node->left != NULL) |
|
1476
|
2 |
0 |
if (node->right != NULL) |
|
1494
|
0 |
0 |
if (node->token.type == OP_BACK_REF) |
|
1522
|
0 |
0 |
if (dfa->nodes[org_node].type == OP_BACK_REF) |
|
1531
|
0 |
0 |
if (BE (clone_dest == REG_MISSING, 0)) |
|
1535
|
0 |
0 |
if (BE (! ok, 0)) |
|
1538
|
0 |
0 |
else if (dfa->edests[org_node].nelem == 0) |
|
1546
|
0 |
0 |
else if (dfa->edests[org_node].nelem == 1) |
|
1554
|
0 |
0 |
if (org_node == root_node && clone_node != org_node) |
|
|
0 |
0 |
if (org_node == root_node && clone_node != org_node) |
|
1557
|
0 |
0 |
if (BE (! ok, 0)) |
|
1564
|
0 |
0 |
if (BE (clone_dest == REG_MISSING, 0)) |
|
1567
|
0 |
0 |
if (BE (! ok, 0)) |
|
1578
|
0 |
0 |
if (clone_dest == REG_MISSING) |
|
1583
|
0 |
0 |
if (BE (clone_dest == REG_MISSING, 0)) |
|
1586
|
0 |
0 |
if (BE (! ok, 0)) |
|
1590
|
0 |
0 |
if (BE (err != REG_NOERROR, 0)) |
|
1598
|
0 |
0 |
if (BE (! ok, 0)) |
|
1604
|
0 |
0 |
if (BE (clone_dest == REG_MISSING, 0)) |
|
1607
|
0 |
0 |
if (BE (! ok, 0)) |
|
1624
|
0 |
0 |
for (idx = dfa->nodes_len - 1; dfa->nodes[idx].duplicated && idx > 0; --idx) |
|
|
0 |
0 |
for (idx = dfa->nodes_len - 1; dfa->nodes[idx].duplicated && idx > 0; --idx) |
|
1626
|
0 |
0 |
if (org_node == dfa->org_indices[idx] |
|
1627
|
0 |
0 |
&& constraint == dfa->nodes[idx].constraint) |
|
1641
|
0 |
0 |
if (BE (dup_idx != REG_MISSING, 1)) |
|
1658
|
15 |
2 |
for (idx = 0; idx < dfa->nodes_len; ++idx) |
|
1661
|
15 |
2 |
for (src = 0; src < dfa->nodes_len; ++src) |
|
1664
|
30 |
15 |
for (idx = 0; idx < dfa->eclosures[src].nelem; ++idx) |
|
1667
|
0 |
30 |
if (BE (! ok, 0)) |
|
1691
|
6 |
48 |
if (node_idx == dfa->nodes_len) |
|
1693
|
6 |
0 |
if (!incomplete) |
|
1704
|
16 |
32 |
if (dfa->eclosures[node_idx].nelem != 0) |
|
1708
|
0 |
32 |
if (BE (err != REG_NOERROR, 0)) |
|
1711
|
0 |
32 |
if (dfa->eclosures[node_idx].nelem == 0) |
|
1714
|
0 |
0 |
re_node_set_free (&eclosure_elem); |
|
1731
|
0 |
48 |
if (BE (err != REG_NOERROR, 0)) |
|
1740
|
0 |
48 |
if (dfa->nodes[node].constraint |
|
1741
|
0 |
0 |
&& dfa->edests[node].nelem |
|
1742
|
0 |
0 |
&& !dfa->nodes[dfa->edests[node].elems[0]].duplicated) |
|
1746
|
0 |
0 |
if (BE (err != REG_NOERROR, 0)) |
|
1751
|
14 |
34 |
if (IS_EPSILON_NODE(dfa->nodes[node].type)) |
|
1752
|
16 |
14 |
for (i = 0; i < dfa->edests[node].nelem; ++i) |
|
1758
|
0 |
16 |
if (dfa->eclosures[edest].nelem == REG_MISSING) |
|
1765
|
16 |
0 |
if (dfa->eclosures[edest].nelem == 0) |
|
1768
|
0 |
16 |
if (BE (err != REG_NOERROR, 0)) |
|
1775
|
0 |
16 |
if (BE (err != REG_NOERROR, 0)) |
|
1779
|
0 |
16 |
if (dfa->eclosures[edest].nelem == 0) |
|
1782
|
0 |
0 |
re_node_set_free (&eclosure_elem); |
|
1788
|
0 |
48 |
if (BE (! ok, 0)) |
|
1790
|
0 |
48 |
if (incomplete && !root) |
|
|
0 |
0 |
if (incomplete && !root) |
|
1819
|
6 |
38 |
if (re_string_eoi (input)) |
|
1831
|
38 |
0 |
if (input->mb_cur_max > 1 && |
|
|
38 |
0 |
if (input->mb_cur_max > 1 && |
|
1832
|
0 |
38 |
!re_string_first_byte (input, re_string_cur_idx (input))) |
|
1839
|
12 |
26 |
if (c == '\\') |
|
1842
|
0 |
12 |
if (re_string_cur_idx (input) + 1 >= re_string_length (aTHX_ input)) |
|
1852
|
12 |
0 |
if (input->mb_cur_max > 1) |
|
1856
|
12 |
0 |
token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; |
|
|
0 |
12 |
token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; |
|
1860
|
0 |
0 |
token->word_char = IS_WORD_CHAR (c2) != 0; |
|
|
0 |
0 |
token->word_char = IS_WORD_CHAR (c2) != 0; |
|
1865
|
0 |
0 |
if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_NO_BK_VBAR)) |
|
|
0 |
0 |
if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_NO_BK_VBAR)) |
|
1870
|
0 |
0 |
if (!(syntax & RE_NO_BK_REFS)) |
|
1877
|
0 |
0 |
if (!(syntax & RE_NO_GNU_OPS)) |
|
1884
|
0 |
0 |
if (!(syntax & RE_NO_GNU_OPS)) |
|
1891
|
0 |
0 |
if (!(syntax & RE_NO_GNU_OPS)) |
|
1898
|
0 |
0 |
if (!(syntax & RE_NO_GNU_OPS)) |
|
1905
|
0 |
0 |
if (!(syntax & RE_NO_GNU_OPS)) |
|
1909
|
0 |
0 |
if (!(syntax & RE_NO_GNU_OPS)) |
|
1913
|
0 |
0 |
if (!(syntax & RE_NO_GNU_OPS)) |
|
1917
|
0 |
0 |
if (!(syntax & RE_NO_GNU_OPS)) |
|
1921
|
0 |
0 |
if (!(syntax & RE_NO_GNU_OPS)) |
|
1928
|
0 |
0 |
if (!(syntax & RE_NO_GNU_OPS)) |
|
1935
|
6 |
0 |
if (!(syntax & RE_NO_BK_PARENS)) |
|
1939
|
6 |
0 |
if (!(syntax & RE_NO_BK_PARENS)) |
|
1943
|
0 |
0 |
if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM)) |
|
|
0 |
0 |
if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM)) |
|
1947
|
0 |
0 |
if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM)) |
|
|
0 |
0 |
if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_BK_PLUS_QM)) |
|
1951
|
0 |
0 |
if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES))) |
|
|
0 |
0 |
if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES))) |
|
1955
|
0 |
0 |
if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES))) |
|
|
0 |
0 |
if ((syntax & RE_INTERVALS) && (!(syntax & RE_NO_BK_BRACES))) |
|
1966
|
26 |
0 |
if (input->mb_cur_max > 1) |
|
1969
|
3 |
23 |
token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; |
|
|
0 |
3 |
token->word_char = IS_WIDE_WORD_CHAR (wc) != 0; |
|
1973
|
0 |
0 |
token->word_char = IS_WORD_CHAR (token->opr.c); |
|
|
0 |
0 |
token->word_char = IS_WORD_CHAR (token->opr.c); |
|
1978
|
0 |
0 |
if (syntax & RE_NEWLINE_ALT) |
|
1982
|
0 |
0 |
if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_NO_BK_VBAR)) |
|
|
0 |
0 |
if (!(syntax & RE_LIMITED_OPS) && (syntax & RE_NO_BK_VBAR)) |
|
1989
|
0 |
0 |
if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM)) |
|
|
0 |
0 |
if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM)) |
|
1993
|
0 |
0 |
if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM)) |
|
|
0 |
0 |
if (!(syntax & RE_LIMITED_OPS) && !(syntax & RE_BK_PLUS_QM)) |
|
1997
|
0 |
0 |
if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) |
|
|
0 |
0 |
if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) |
|
2001
|
0 |
0 |
if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) |
|
|
0 |
0 |
if ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) |
|
2005
|
0 |
0 |
if (syntax & RE_NO_BK_PARENS) |
|
2009
|
0 |
0 |
if (syntax & RE_NO_BK_PARENS) |
|
2019
|
0 |
0 |
if (!(syntax & (RE_CONTEXT_INDEP_ANCHORS | RE_CARET_ANCHORS_HERE)) && |
|
|
0 |
0 |
if (!(syntax & (RE_CONTEXT_INDEP_ANCHORS | RE_CARET_ANCHORS_HERE)) && |
|
2023
|
0 |
0 |
if (!(syntax & RE_NEWLINE_ALT) || prev != '\n') |
|
|
0 |
0 |
if (!(syntax & RE_NEWLINE_ALT) || prev != '\n') |
|
2030
|
0 |
0 |
if (!(syntax & RE_CONTEXT_INDEP_ANCHORS) && |
|
|
0 |
0 |
if (!(syntax & RE_CONTEXT_INDEP_ANCHORS) && |
|
2037
|
0 |
0 |
if (next.type != OP_ALT && next.type != OP_CLOSE_SUBEXP) |
|
|
0 |
0 |
if (next.type != OP_ALT && next.type != OP_CLOSE_SUBEXP) |
|
2057
|
0 |
6 |
if (re_string_eoi (input)) |
|
2066
|
6 |
0 |
if (input->mb_cur_max > 1 && |
|
|
6 |
0 |
if (input->mb_cur_max > 1 && |
|
2067
|
0 |
6 |
!re_string_first_byte (input, re_string_cur_idx (input))) |
|
2074
|
0 |
6 |
if (c == '\\' && (syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) |
|
|
0 |
0 |
if (c == '\\' && (syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) |
|
2075
|
0 |
0 |
&& re_string_cur_idx (input) + 1 < re_string_length (input)) |
|
2085
|
0 |
6 |
if (c == '[') /* '[' is a special char in a bracket exps. */ |
|
2089
|
0 |
0 |
if (re_string_cur_idx (input) + 1 < re_string_length (input)) |
|
2104
|
0 |
0 |
if (syntax & RE_CHAR_CLASSES) |
|
2159
|
0 |
6 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
2162
|
6 |
0 |
if (tree != NULL) |
|
2166
|
6 |
0 |
if (BE (eor == NULL || root == NULL, 0)) |
|
|
0 |
6 |
if (BE (eor == NULL || root == NULL, 0)) |
|
2190
|
0 |
12 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
2193
|
0 |
12 |
while (token->type == OP_ALT) |
|
2196
|
0 |
0 |
if (token->type != OP_ALT && token->type != END_OF_RE |
|
|
0 |
0 |
if (token->type != OP_ALT && token->type != END_OF_RE |
|
2197
|
0 |
0 |
&& (nest == 0 || token->type != OP_CLOSE_SUBEXP)) |
|
|
0 |
0 |
&& (nest == 0 || token->type != OP_CLOSE_SUBEXP)) |
|
2200
|
0 |
0 |
if (BE (*err != REG_NOERROR && branch == NULL, 0)) |
|
|
0 |
0 |
if (BE (*err != REG_NOERROR && branch == NULL, 0)) |
|
2206
|
0 |
0 |
if (BE (tree == NULL, 0)) |
|
2231
|
0 |
12 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
2234
|
32 |
0 |
while (token->type != OP_ALT && token->type != END_OF_RE |
|
|
26 |
6 |
while (token->type != OP_ALT && token->type != END_OF_RE |
|
2235
|
14 |
12 |
&& (nest == 0 || token->type != OP_CLOSE_SUBEXP)) |
|
|
6 |
6 |
&& (nest == 0 || token->type != OP_CLOSE_SUBEXP)) |
|
2238
|
0 |
20 |
if (BE (*err != REG_NOERROR && expr == NULL, 0)) |
|
|
0 |
0 |
if (BE (*err != REG_NOERROR && expr == NULL, 0)) |
|
2240
|
0 |
0 |
if (tree != NULL) |
|
2244
|
20 |
0 |
if (tree != NULL && expr != NULL) |
|
|
20 |
0 |
if (tree != NULL && expr != NULL) |
|
2247
|
0 |
20 |
if (newtree == NULL) |
|
2256
|
0 |
0 |
else if (tree == NULL) |
|
2279
|
0 |
24 |
if (BE (tree == NULL, 0)) |
|
2285
|
24 |
0 |
if (dfa->mb_cur_max > 1) |
|
2287
|
20 |
4 |
while (!re_string_eoi (regexp) |
|
2288
|
20 |
0 |
&& !re_string_first_byte (regexp, re_string_cur_idx (regexp))) |
|
|
0 |
20 |
&& !re_string_first_byte (regexp, re_string_cur_idx (regexp))) |
|
2294
|
0 |
0 |
if (BE (mbc_remain == NULL || tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (mbc_remain == NULL || tree == NULL, 0)) |
|
2305
|
0 |
6 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
2310
|
0 |
2 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
2314
|
0 |
0 |
if (!BE (dfa->completed_bkref_map & (1 << token->opr.idx), 1)) |
|
2321
|
0 |
0 |
if (BE (tree == NULL, 0)) |
|
2330
|
0 |
0 |
if (syntax & RE_CONTEXT_INVALID_DUP) |
|
2339
|
0 |
0 |
if (syntax & RE_CONTEXT_INVALID_OPS) |
|
2344
|
0 |
0 |
else if (syntax & RE_CONTEXT_INDEP_OPS) |
|
2351
|
0 |
0 |
if ((token->type == OP_CLOSE_SUBEXP) && |
|
|
0 |
0 |
if ((token->type == OP_CLOSE_SUBEXP) && |
|
2366
|
0 |
0 |
if (BE (tree == NULL, 0)) |
|
2373
|
0 |
0 |
if ((token->opr.ctx_type |
|
2375
|
0 |
0 |
&& dfa->word_ops_used == 0) |
|
2377
|
0 |
0 |
if (token->opr.ctx_type == WORD_DELIM |
|
2378
|
0 |
0 |
|| token->opr.ctx_type == NOT_WORD_DELIM) |
|
2381
|
0 |
0 |
if (token->opr.ctx_type == WORD_DELIM) |
|
2395
|
0 |
0 |
if (BE (tree_first == NULL || tree_last == NULL || tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (tree_first == NULL || tree_last == NULL || tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (tree_first == NULL || tree_last == NULL || tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (tree_first == NULL || tree_last == NULL || tree == NULL, 0)) |
|
2404
|
0 |
0 |
if (BE (tree == NULL, 0)) |
|
2418
|
0 |
0 |
if (BE (tree == NULL, 0)) |
|
2423
|
0 |
0 |
if (dfa->mb_cur_max > 1) |
|
2432
|
0 |
0 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
2441
|
0 |
0 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
2459
|
0 |
32 |
while (token->type == OP_DUP_ASTERISK || token->type == OP_DUP_PLUS |
|
|
0 |
32 |
while (token->type == OP_DUP_ASTERISK || token->type == OP_DUP_PLUS |
|
2460
|
0 |
32 |
|| token->type == OP_DUP_QUESTION || token->type == OP_OPEN_DUP_NUM) |
|
|
0 |
32 |
|| token->type == OP_DUP_QUESTION || token->type == OP_OPEN_DUP_NUM) |
|
2463
|
0 |
0 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (*err != REG_NOERROR && tree == NULL, 0)) |
|
2466
|
0 |
0 |
if ((syntax & RE_CONTEXT_INVALID_DUP) |
|
2467
|
0 |
0 |
&& (token->type == OP_DUP_ASTERISK |
|
2468
|
0 |
0 |
|| token->type == OP_OPEN_DUP_NUM)) |
|
2497
|
0 |
6 |
if (token->type == OP_CLOSE_SUBEXP) |
|
2502
|
6 |
0 |
if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0)) |
|
|
0 |
6 |
if (BE (*err == REG_NOERROR && token->type != OP_CLOSE_SUBEXP, 0)) |
|
2504
|
0 |
0 |
if (tree != NULL) |
|
2508
|
0 |
6 |
if (BE (*err != REG_NOERROR, 0)) |
|
2512
|
6 |
0 |
if (cur_nsub <= '9' - '1') |
|
2516
|
0 |
6 |
if (BE (tree == NULL, 0)) |
|
2535
|
0 |
0 |
if (token->type == OP_OPEN_DUP_NUM) |
|
2539
|
0 |
0 |
if (start == REG_MISSING) |
|
2541
|
0 |
0 |
if (token->type == CHARACTER && token->opr.c == ',') |
|
|
0 |
0 |
if (token->type == CHARACTER && token->opr.c == ',') |
|
2549
|
0 |
0 |
if (BE (start != REG_ERROR, 1)) |
|
2553
|
0 |
0 |
: ((token->type == CHARACTER && token->opr.c == ',') |
|
|
0 |
0 |
: ((token->type == CHARACTER && token->opr.c == ',') |
|
2554
|
0 |
0 |
? fetch_number (aTHX_ regexp, token, syntax) : REG_ERROR)); |
|
2556
|
0 |
0 |
if (BE (start == REG_ERROR || end == REG_ERROR, 0)) |
|
|
0 |
0 |
if (BE (start == REG_ERROR || end == REG_ERROR, 0)) |
|
2559
|
0 |
0 |
if (BE (!(syntax & RE_INVALID_INTERVAL_ORD), 0)) |
|
2561
|
0 |
0 |
if (token->type == END_OF_RE) |
|
2578
|
0 |
0 |
if (BE ((end != REG_MISSING && start > end) |
|
|
0 |
0 |
if (BE ((end != REG_MISSING && start > end) |
|
|
0 |
0 |
if (BE ((end != REG_MISSING && start > end) |
|
|
0 |
0 |
if (BE ((end != REG_MISSING && start > end) |
|
2586
|
0 |
0 |
if (BE (RE_DUP_MAX < (end == REG_MISSING ? start : end), 0)) |
|
|
0 |
0 |
if (BE (RE_DUP_MAX < (end == REG_MISSING ? start : end), 0)) |
|
2595
|
0 |
0 |
end = (token->type == OP_DUP_QUESTION) ? 1 : REG_MISSING; |
|
2600
|
0 |
0 |
if (BE (elem == NULL, 0)) |
|
2602
|
0 |
0 |
if (BE (start == 0 && end == 0, 0)) |
|
|
0 |
0 |
if (BE (start == 0 && end == 0, 0)) |
|
2609
|
0 |
0 |
if (BE (start > 0, 0)) |
|
2612
|
0 |
0 |
for (i = 2; i <= start; ++i) |
|
2616
|
0 |
0 |
if (BE (elem == NULL || tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (elem == NULL || tree == NULL, 0)) |
|
2620
|
0 |
0 |
if (start == end) |
|
2630
|
0 |
0 |
if (elem->token.type == SUBEXP) |
|
2636
|
0 |
0 |
tree = create_tree (aTHX_ dfa, elem, NULL, |
|
2638
|
0 |
0 |
if (BE (tree == NULL, 0)) |
|
2648
|
0 |
0 |
if (TYPE_SIGNED (Idx) || end != REG_MISSING) |
|
2649
|
0 |
0 |
for (i = start + 2; i <= end; ++i) |
|
2653
|
0 |
0 |
if (BE (elem == NULL || tree == NULL, 0)) |
|
|
0 |
0 |
if (BE (elem == NULL || tree == NULL, 0)) |
|
2657
|
0 |
0 |
if (BE (tree == NULL, 0)) |
|
2661
|
0 |
0 |
if (old_tree) |
|
2701
|
0 |
0 |
if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS |
|
|
0 |
0 |
if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS |
|
|
0 |
0 |
if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS |
|
|
0 |
0 |
if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS |
|
|
0 |
0 |
if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS |
|
|
0 |
0 |
if (BE (start_elem->type == EQUIV_CLASS || start_elem->type == CHAR_CLASS |
|
2708
|
0 |
0 |
if (BE ((start_elem->type == COLL_SYM |
|
|
0 |
0 |
if (BE ((start_elem->type == COLL_SYM |
|
|
0 |
0 |
if (BE ((start_elem->type == COLL_SYM |
|
|
0 |
0 |
if (BE ((start_elem->type == COLL_SYM |
|
|
0 |
0 |
if (BE ((start_elem->type == COLL_SYM |
|
|
0 |
0 |
if (BE ((start_elem->type == COLL_SYM |
|
2720
|
0 |
0 |
start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch |
|
|
0 |
0 |
start_ch = ((start_elem->type == SB_CHAR) ? start_elem->opr.ch |
|
2723
|
0 |
0 |
end_ch = ((end_elem->type == SB_CHAR) ? end_elem->opr.ch |
|
|
0 |
0 |
end_ch = ((end_elem->type == SB_CHAR) ? end_elem->opr.ch |
|
2726
|
0 |
0 |
start_wc = ((start_elem->type == SB_CHAR || start_elem->type == COLL_SYM) |
|
2727
|
0 |
0 |
? rpl__btowc (start_ch) : start_elem->opr.wch); |
|
2728
|
0 |
0 |
end_wc = ((end_elem->type == SB_CHAR || end_elem->type == COLL_SYM) |
|
2729
|
0 |
0 |
? rpl__btowc (end_ch) : end_elem->opr.wch); |
|
2730
|
0 |
0 |
if (start_wc == rpl__WEOF || end_wc == rpl__WEOF) |
|
|
0 |
0 |
if (start_wc == rpl__WEOF || end_wc == rpl__WEOF) |
|
2732
|
0 |
0 |
else if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_wc > end_wc, 0)) |
|
|
0 |
0 |
else if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_wc > end_wc, 0)) |
|
2740
|
0 |
0 |
if (mbcset) |
|
2743
|
0 |
0 |
if (BE (*range_alloc == mbcset->nranges, 0)) |
|
2752
|
0 |
0 |
re_realloc (mbcset->range_starts, rpl__wchar_t, new_nranges); |
|
2753
|
0 |
0 |
re_realloc (mbcset->range_ends, rpl__wchar_t, new_nranges); |
|
2762
|
0 |
0 |
for (wc = 0; wc < SBC_MAX; ++wc) |
|
2764
|
0 |
0 |
if (start_wc <= wc && wc <= end_wc) |
|
|
0 |
0 |
if (start_wc <= wc && wc <= end_wc) |
|
2806
|
0 |
0 |
if (BE (name_len != 1, 0)) |
|
3091
|
2 |
0 |
if (BE (sbcset == NULL || mbcset == NULL, 0)) |
|
|
0 |
2 |
if (BE (sbcset == NULL || mbcset == NULL, 0)) |
|
3096
|
0 |
0 |
re_free (sbcset); |
|
3098
|
0 |
0 |
re_free (mbcset); |
|
3105
|
0 |
2 |
if (BE (token->type == END_OF_RE, 0)) |
|
3110
|
2 |
0 |
if (token->type == OP_NON_MATCH_LIST) |
|
3116
|
0 |
2 |
if (syntax & RE_HAT_LISTS_NOT_NEWLINE) |
|
3120
|
0 |
2 |
if (BE (token->type == END_OF_RE, 0)) |
|
3128
|
0 |
2 |
if (token->type == OP_CLOSE_BRACKET) |
|
3144
|
0 |
2 |
if (BE (ret != REG_NOERROR, 0)) |
|
3155
|
2 |
0 |
if (start_elem.type != CHAR_CLASS && start_elem.type != EQUIV_CLASS) |
|
|
2 |
0 |
if (start_elem.type != CHAR_CLASS && start_elem.type != EQUIV_CLASS) |
|
3157
|
0 |
2 |
if (BE (token->type == END_OF_RE, 0)) |
|
3162
|
0 |
2 |
if (token->type == OP_CHARSET_RANGE) |
|
3166
|
0 |
0 |
if (BE (token2.type == END_OF_RE, 0)) |
|
3171
|
0 |
0 |
if (token2.type == OP_CLOSE_BRACKET) |
|
3182
|
0 |
2 |
if (is_range_exp == true) |
|
3187
|
0 |
0 |
if (BE (ret != REG_NOERROR, 0)) |
|
3200
|
0 |
0 |
*err = build_range_exp (aTHX_ syntax, sbcset, |
|
3207
|
0 |
0 |
if (BE (*err != REG_NOERROR, 0)) |
|
3220
|
0 |
0 |
if (BE (mbchar_alloc == mbcset->nmbchars, 0)) |
|
3226
|
0 |
0 |
re_realloc (mbcset->mbchars, rpl__wchar_t, mbchar_alloc); |
|
3237
|
0 |
0 |
if (BE (*err != REG_NOERROR, 0)) |
|
3246
|
0 |
0 |
if (BE (*err != REG_NOERROR, 0)) |
|
3256
|
0 |
0 |
if (BE (*err != REG_NOERROR, 0)) |
|
3264
|
0 |
2 |
if (BE (token->type == END_OF_RE, 0)) |
|
3269
|
2 |
0 |
if (token->type == OP_CLOSE_BRACKET) |
|
3276
|
2 |
0 |
if (non_match) |
|
3281
|
2 |
0 |
if (dfa->mb_cur_max > 1) |
|
3284
|
2 |
0 |
if (mbcset->nmbchars || mbcset->ncoll_syms || mbcset->nequiv_classes |
|
|
2 |
0 |
if (mbcset->nmbchars || mbcset->ncoll_syms || mbcset->nequiv_classes |
|
|
2 |
0 |
if (mbcset->nmbchars || mbcset->ncoll_syms || mbcset->nequiv_classes |
|
3285
|
2 |
0 |
|| mbcset->nranges || (dfa->mb_cur_max > 1 && (mbcset->nchar_classes |
|
|
2 |
0 |
|| mbcset->nranges || (dfa->mb_cur_max > 1 && (mbcset->nchar_classes |
|
|
2 |
0 |
|| mbcset->nranges || (dfa->mb_cur_max > 1 && (mbcset->nchar_classes |
|
3286
|
2 |
0 |
|| mbcset->non_match))) |
|
3295
|
0 |
2 |
if (BE (mbc_tree == NULL, 0)) |
|
3297
|
2 |
0 |
for (sbc_idx = 0; sbc_idx < BITSET_WORDS; ++sbc_idx) |
|
3298
|
2 |
0 |
if (sbcset[sbc_idx]) |
|
3302
|
2 |
0 |
if (sbc_idx < BITSET_WORDS) |
|
3308
|
0 |
2 |
if (BE (work_tree == NULL, 0)) |
|
3313
|
0 |
2 |
if (BE (work_tree == NULL, 0)) |
|
3318
|
0 |
0 |
re_free (sbcset); |
|
3332
|
0 |
0 |
if (BE (work_tree == NULL, 0)) |
|
3340
|
0 |
0 |
re_free (sbcset); |
|
3357
|
0 |
2 |
if (cur_char_size > 1) |
|
3366
|
2 |
0 |
if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS |
|
|
2 |
0 |
if (token->type == OP_OPEN_COLL_ELEM || token->type == OP_OPEN_CHAR_CLASS |
|
3367
|
0 |
2 |
|| token->type == OP_OPEN_EQUIV_CLASS) |
|
3369
|
0 |
2 |
if (BE (token->type == OP_CHARSET_RANGE, 0) && !accept_hyphen) |
|
|
0 |
0 |
if (BE (token->type == OP_CHARSET_RANGE, 0) && !accept_hyphen) |
|
3375
|
0 |
0 |
if (token2.type != OP_CLOSE_BRACKET) |
|
3395
|
0 |
0 |
if (re_string_eoi(regexp)) |
|
3399
|
0 |
0 |
if (i >= BRACKET_NAME_BUF_SIZE) |
|
3401
|
0 |
0 |
if (token->type == OP_OPEN_CHAR_CLASS) |
|
3405
|
0 |
0 |
if (re_string_eoi(regexp)) |
|
3407
|
0 |
0 |
if (ch == delim && re_string_peek_byte (aTHX_ regexp, 0) == ']') |
|
|
0 |
0 |
if (ch == delim && re_string_peek_byte (aTHX_ regexp, 0) == ']') |
|
3513
|
0 |
0 |
if (BE (strlen ((const char *) name) != 1, 0)) |
|
3541
|
0 |
0 |
if ((syntax & RE_ICASE) |
|
3542
|
0 |
0 |
&& (strcmp (name, "upper") == 0 || strcmp (name, "lower") == 0)) |
|
|
0 |
0 |
&& (strcmp (name, "upper") == 0 || strcmp (name, "lower") == 0)) |
|
3547
|
0 |
0 |
if (BE (*char_class_alloc == mbcset->nchar_classes, 0)) |
|
3553
|
0 |
0 |
re_realloc (mbcset->char_classes, rpl__wctype_t, new_char_class_alloc); |
|
3575
|
0 |
0 |
if (strcmp (name, "alnum") == 0) |
|
3576
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isalnum); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isalnum); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isalnum); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isalnum); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isalnum); |
|
3577
|
0 |
0 |
else if (strcmp (name, "cntrl") == 0) |
|
3578
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__iscntrl); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__iscntrl); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__iscntrl); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__iscntrl); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__iscntrl); |
|
3579
|
0 |
0 |
else if (strcmp (name, "lower") == 0) |
|
3580
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__islower); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__islower); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__islower); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__islower); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__islower); |
|
3581
|
0 |
0 |
else if (strcmp (name, "space") == 0) |
|
3582
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isspace); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isspace); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isspace); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isspace); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isspace); |
|
3583
|
0 |
0 |
else if (strcmp (name, "alpha") == 0) |
|
3584
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isalpha); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isalpha); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isalpha); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isalpha); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isalpha); |
|
3585
|
0 |
0 |
else if (strcmp (name, "digit") == 0) |
|
3586
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isdigit); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isdigit); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isdigit); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isdigit); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isdigit); |
|
3587
|
0 |
0 |
else if (strcmp (name, "print") == 0) |
|
3588
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isprint); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isprint); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isprint); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isprint); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isprint); |
|
3589
|
0 |
0 |
else if (strcmp (name, "upper") == 0) |
|
3590
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isupper); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isupper); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isupper); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isupper); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isupper); |
|
3591
|
0 |
0 |
else if (strcmp (name, "blank") == 0) |
|
3592
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isblank); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isblank); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isblank); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isblank); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isblank); |
|
3593
|
0 |
0 |
else if (strcmp (name, "graph") == 0) |
|
3594
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isgraph); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isgraph); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isgraph); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isgraph); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isgraph); |
|
3595
|
0 |
0 |
else if (strcmp (name, "punct") == 0) |
|
3596
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__ispunct); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__ispunct); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__ispunct); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__ispunct); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__ispunct); |
|
3597
|
0 |
0 |
else if (strcmp (name, "xdigit") == 0) |
|
3598
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isxdigit); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isxdigit); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isxdigit); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isxdigit); |
|
|
0 |
0 |
BUILD_CHARCLASS_LOOP (rpl__isxdigit); |
|
3628
|
0 |
0 |
if (BE (sbcset == NULL || mbcset == NULL, 0)) |
|
|
0 |
0 |
if (BE (sbcset == NULL || mbcset == NULL, 0)) |
|
3637
|
0 |
0 |
if (non_match) |
|
3651
|
0 |
0 |
if (BE (ret != REG_NOERROR, 0)) |
|
3653
|
0 |
0 |
re_free (sbcset); |
|
3661
|
0 |
0 |
for (; *extra; extra++) |
|
3665
|
0 |
0 |
if (non_match) |
|
3670
|
0 |
0 |
if (dfa->mb_cur_max > 1) |
|
3678
|
0 |
0 |
if (BE (tree == NULL, 0)) |
|
3682
|
0 |
0 |
if (dfa->mb_cur_max > 1) |
|
3690
|
0 |
0 |
if (BE (mbc_tree == NULL, 0)) |
|
3694
|
0 |
0 |
if (BE (mbc_tree != NULL, 1)) |
|
3707
|
0 |
0 |
re_free (sbcset); |
|
3730
|
0 |
0 |
if (BE (token->type == END_OF_RE, 0)) |
|
3732
|
0 |
0 |
if (token->type == OP_CLOSE_DUP_NUM || c == ',') |
|
|
0 |
0 |
if (token->type == OP_CLOSE_DUP_NUM || c == ',') |
|
3734
|
0 |
0 |
num = ((token->type != CHARACTER || c < '0' || '9' < c |
|
|
0 |
0 |
num = ((token->type != CHARACTER || c < '0' || '9' < c |
|
3735
|
0 |
0 |
|| num == REG_ERROR) |
|
3737
|
0 |
0 |
: num == REG_MISSING |
|
3739
|
0 |
0 |
: MIN (RE_DUP_MAX + 1, num * 10 + c - '0')); |
|
3748
|
0 |
2 |
re_free (cset->mbchars); |
|
3755
|
0 |
2 |
re_free (cset->char_classes); |
|
3756
|
2 |
0 |
re_free (cset); |
|
3778
|
8 |
84 |
if (BE (dfa->str_tree_storage_idx == BIN_TREE_STORAGE_SIZE, 0)) |
|
3799
|
46 |
46 |
if (left != NULL) |
|
3801
|
40 |
52 |
if (right != NULL) |
|
3813
|
0 |
0 |
if (node->token.type == SUBEXP && node->token.opr.idx == idx) |
|
|
0 |
0 |
if (node->token.type == SUBEXP && node->token.opr.idx == idx) |
|
3825
|
2 |
46 |
if (node->type == COMPLEX_BRACKET && node->duplicated == 0) |
|
|
2 |
0 |
if (node->type == COMPLEX_BRACKET && node->duplicated == 0) |
|
3829
|
2 |
44 |
if (node->type == SIMPLE_BRACKET && node->duplicated == 0) |
|
|
2 |
0 |
if (node->type == SIMPLE_BRACKET && node->duplicated == 0) |
|
3830
|
2 |
0 |
re_free (node->opr.sbcset); |
|
3860
|
0 |
0 |
if (*p_new == NULL) |
|
3867
|
0 |
0 |
if (node->left) |
|
3875
|
0 |
0 |
while (node->right == prev || node->right == NULL) |
|
|
0 |
0 |
while (node->right == prev || node->right == NULL) |
|
3880
|
0 |
0 |
if (!node) |