line |
true |
false |
branch |
140
|
4 |
29262 |
if (p_state->eof) |
184
|
0 |
29262 |
if (p_state->pending_end_tag && event != E_TEXT && event != E_COMMENT) { |
|
0 |
0 |
if (p_state->pending_end_tag && event != E_TEXT && event != E_COMMENT) { |
|
0 |
0 |
if (p_state->pending_end_tag && event != E_TEXT && event != E_COMMENT) { |
195
|
154 |
29108 |
p_state->offset += CHR_DIST(end, beg); |
196
|
122 |
29140 |
if (line) { |
199
|
718 |
122 |
while (s < end) { |
200
|
31 |
687 |
if (*s == '\n') { |
206
|
27 |
95 |
if (nl) |
207
|
10 |
17 |
p_state->column = CHR_DIST(end, nl) - 1; |
209
|
22 |
73 |
p_state->column += CHR_DIST(end, beg); |
212
|
32 |
29230 |
if (event == E_NONE) |
216
|
4 |
29226 |
if (p_state->ms == MS_IGNORE) |
221
|
29096 |
130 |
if (p_state->ignore_tags || p_state->report_tags || p_state->ignore_elements) { |
|
29010 |
86 |
if (p_state->ignore_tags || p_state->report_tags || p_state->ignore_elements) { |
|
197 |
28813 |
if (p_state->ignore_tags || p_state->report_tags || p_state->ignore_elements) { |
223
|
308 |
105 |
if (event == E_START || event == E_END) { |
|
62 |
246 |
if (event == E_START || event == E_END) { |
228
|
38 |
129 |
if (utf8) |
232
|
159 |
8 |
if (!CASE_SENSITIVE(p_state)) |
|
155 |
4 |
if (!CASE_SENSITIVE(p_state)) |
235
|
7 |
160 |
if (p_state->ignoring_element) { |
236
|
7 |
0 |
if (sv_eq(p_state->ignoring_element, tagname)) { |
237
|
0 |
7 |
if (event == E_START) |
239
|
7 |
0 |
else if (--p_state->ignore_depth == 0) { |
250
|
7 |
1 |
if (event == E_START) { |
268
|
7 |
239 |
else if (p_state->ignoring_element) { |
274
|
3286 |
25886 |
if (!h->cb) { |
277
|
2178 |
1108 |
if (!h->cb) |
281
|
13551 |
13443 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
13551 |
0 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
0 |
13551 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
0 |
0 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
0 |
13551 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
0 |
0 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
0 |
0 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
13070 |
481 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
13070 |
0 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
5 |
13065 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
0 |
5 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
0 |
0 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
5 |
13065 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
2 |
479 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
2 |
0 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
2 |
0 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
0 |
2 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
0 |
0 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
2 |
0 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
|
0 |
479 |
if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) { |
286
|
8981 |
18006 |
if (p_state->unbroken_text && event == E_TEXT) { |
|
4510 |
4471 |
if (p_state->unbroken_text && event == E_TEXT) { |
288
|
16 |
4494 |
if (!p_state->pend_text) |
290
|
4356 |
154 |
if (SvOK(p_state->pend_text)) { |
|
4356 |
0 |
if (SvOK(p_state->pend_text)) { |
|
0 |
4356 |
if (SvOK(p_state->pend_text)) { |
291
|
2 |
152 |
if (p_state->is_cdata != p_state->pend_text_is_cdata) { |
304
|
4358 |
0 |
if (!utf8) |
307
|
0 |
4510 |
if (utf8 && !SvUTF8(p_state->pend_text)) |
|
0 |
0 |
if (utf8 && !SvUTF8(p_state->pend_text)) |
309
|
4510 |
0 |
if (utf8 || !SvUTF8(p_state->pend_text)) { |
|
4510 |
0 |
if (utf8 || !SvUTF8(p_state->pend_text)) { |
320
|
4458 |
18019 |
else if (p_state->pend_text && SvOK(p_state->pend_text)) { |
|
164 |
4294 |
else if (p_state->pend_text && SvOK(p_state->pend_text)) { |
|
164 |
0 |
else if (p_state->pend_text && SvOK(p_state->pend_text)) { |
|
0 |
164 |
else if (p_state->pend_text && SvOK(p_state->pend_text)) { |
327
|
22476 |
1 |
argspec = h->argspec ? SvPV(h->argspec, my_na) : ""; |
|
22476 |
0 |
argspec = h->argspec ? SvPV(h->argspec, my_na) : ""; |
329
|
8945 |
13532 |
if (SvTYPE(h->cb) == SVt_PVAV) { |
331
|
502 |
8443 |
if (*argspec == ARG_FLAG_FLAT_ARRAY) { |
342
|
0 |
13532 |
if (*argspec == ARG_FLAG_FLAT_ARRAY) |
348
|
0 |
13532 |
PUSHMARK(SP); |
351
|
74876 |
22477 |
for (s = argspec; *s; s++) { |
363
|
68 |
17 |
if (num_tokens >= 1) { |
368
|
405 |
68 |
for (i = 0; i < num_tokens; i++) { |
369
|
405 |
0 |
if (tokens[i].beg) { |
371
|
0 |
405 |
if (utf8) |
376
|
0 |
0 |
av_push(av, p_state->bool_attr_val |
386
|
33 |
51 |
if (num_tokens >= 1 && tokens[0].beg >= beg) { |
|
32 |
1 |
if (num_tokens >= 1 && tokens[0].beg >= beg) { |
390
|
369 |
32 |
for (i = 0; i < num_tokens; i++) { |
391
|
367 |
2 |
if (tokens[i].beg) { |
392
|
13 |
354 |
av_push(av, newSViv(CHR_DIST(tokens[i].beg, beg))); |
393
|
13 |
354 |
av_push(av, newSViv(CHR_DIST(tokens[i].end, tokens[i].beg))); |
409
|
6333 |
68 |
if (num_tokens >= 1) { |
412
|
29 |
6304 |
if (utf8) |
414
|
6272 |
61 |
if (!CASE_SENSITIVE(p_state) && argcode != ARG_TOKEN0) |
|
6267 |
5 |
if (!CASE_SENSITIVE(p_state) && argcode != ARG_TOKEN0) |
|
6215 |
52 |
if (!CASE_SENSITIVE(p_state) && argcode != ARG_TOKEN0) |
416
|
21 |
6312 |
if (argcode == ARG_TAG && event != E_START) { |
|
10 |
11 |
if (argcode == ARG_TAG && event != E_START) { |
425
|
4054 |
92 |
if (event == E_START) { |
428
|
4045 |
9 |
if (argcode == ARG_ATTR) { |
440
|
10205 |
4054 |
for (i = 1; i < num_tokens; i += 2) { |
445
|
37 |
10168 |
if (utf8) |
447
|
3196 |
7009 |
if (tokens[i+1].beg) { |
450
|
3036 |
160 |
if (*beg == '"' || *beg == '\'' || (*beg == '`' && p_state->backquote)) { |
|
994 |
2042 |
if (*beg == '"' || *beg == '\'' || (*beg == '`' && p_state->backquote)) { |
|
5 |
989 |
if (*beg == '"' || *beg == '\'' || (*beg == '`' && p_state->backquote)) { |
|
1 |
4 |
if (*beg == '"' || *beg == '\'' || (*beg == '`' && p_state->backquote)) { |
455
|
34 |
3162 |
if (utf8) |
457
|
3194 |
2 |
if (!p_state->attr_encoded) { |
458
|
20 |
3174 |
if (p_state->utf8_mode) { |
463
|
20 |
3174 |
if (p_state->utf8_mode) |
468
|
0 |
7009 |
if (p_state->bool_attr_val) |
474
|
10192 |
13 |
if (!CASE_SENSITIVE(p_state)) |
|
10188 |
4 |
if (!CASE_SENSITIVE(p_state)) |
477
|
10197 |
8 |
if (argcode == ARG_ATTR) { |
485
|
4 |
4 |
if (array) { |
490
|
0 |
4 |
mXPUSHs(attrname); |
491
|
0 |
4 |
mXPUSHs(attrval); |
496
|
18 |
74 |
else if (argcode == ARG_ATTRARR) { |
502
|
3944 |
25 |
if (event == E_START) { |
505
|
10089 |
3944 |
for (i = 1; i < num_tokens; i += 2) { |
508
|
0 |
10089 |
if (utf8) |
510
|
10079 |
10 |
if (!CASE_SENSITIVE(p_state)) |
|
10075 |
4 |
if (!CASE_SENSITIVE(p_state)) |
520
|
115 |
22069 |
if (utf8) |
525
|
79 |
77 |
if (event == E_TEXT) { |
527
|
23 |
56 |
if (utf8) |
529
|
71 |
8 |
if (!p_state->is_cdata) { |
530
|
8 |
63 |
if (p_state->utf8_mode) { |
535
|
8 |
63 |
if (p_state->utf8_mode) |
542
|
15161 |
53 |
if (event == E_TEXT) { |
543
|
7 |
15154 |
arg = boolSV(p_state->is_cdata); |
557
|
16 |
58 |
arg = sv_2mortal(newSViv(offset + CHR_DIST(end, beg))); |
561
|
16 |
85 |
arg = sv_2mortal(newSViv(CHR_DIST(end, beg))); |
581
|
0 |
8319 |
if (SvUTF8(h->argspec)) |
596
|
74849 |
27 |
if (push_arg) { |
597
|
366 |
74483 |
if (!arg) |
600
|
31113 |
43736 |
if (array) { |
607
|
0 |
43736 |
XPUSHs(arg); |
612
|
8945 |
13532 |
if (array) { |
613
|
8443 |
502 |
if (array != (AV*)h->cb) |
619
|
13135 |
397 |
if ((enum argcode)*argspec == ARG_SELF && !SvROK(h->cb)) { |
|
13065 |
70 |
if ((enum argcode)*argspec == ARG_SELF && !SvROK(h->cb)) { |
620
|
13065 |
0 |
char *method = SvPV(h->cb, my_na); |
627
|
13532 |
0 |
if (SvTRUE(ERRSV)) { |
|
13532 |
0 |
if (SvTRUE(ERRSV)) { |
|
13532 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
13532 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
13532 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
13532 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
13532 |
0 |
if (SvTRUE(ERRSV)) { |
|
13532 |
0 |
if (SvTRUE(ERRSV)) { |
|
13532 |
0 |
if (SvTRUE(ERRSV)) { |
|
13532 |
0 |
if (SvTRUE(ERRSV)) { |
|
13532 |
0 |
if (SvTRUE(ERRSV)) { |
|
13531 |
1 |
if (SvTRUE(ERRSV)) { |
|
13531 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
13531 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
0 |
0 |
if (SvTRUE(ERRSV)) { |
|
1 |
13531 |
if (SvTRUE(ERRSV)) { |
631
|
13527 |
4 |
FREETMPS; |
634
|
14 |
22462 |
if (p_state->skipped_text) |
639
|
38 |
2230 |
if (p_state->skipped_text) { |
640
|
20 |
18 |
if (event != E_TEXT && p_state->pend_text && SvOK(p_state->pend_text)) |
|
2 |
18 |
if (event != E_TEXT && p_state->pend_text && SvOK(p_state->pend_text)) |
|
0 |
2 |
if (event != E_TEXT && p_state->pend_text && SvOK(p_state->pend_text)) |
|
0 |
0 |
if (event != E_TEXT && p_state->pend_text && SvOK(p_state->pend_text)) |
|
0 |
0 |
if (event != E_TEXT && p_state->pend_text && SvOK(p_state->pend_text)) |
642
|
2 |
36 |
if (utf8 && !SvUTF8(p_state->skipped_text)) |
|
1 |
1 |
if (utf8 && !SvUTF8(p_state->skipped_text)) |
644
|
36 |
2 |
if (utf8 || !SvUTF8(p_state->skipped_text)) { |
|
35 |
1 |
if (utf8 || !SvUTF8(p_state->skipped_text)) { |
665
|
463 |
0 |
char *s = SvPV(src, len); |
668
|
0 |
463 |
if (SvUTF8(src)) |
671
|
0 |
463 |
while (isHSPACE(*s)) |
674
|
7 |
456 |
if (*s == '@') { |
677
|
0 |
7 |
while (isHSPACE(*tmp)) |
679
|
7 |
0 |
if (*tmp == '{') { |
683
|
0 |
7 |
while (isHSPACE(*tmp)) |
688
|
1267 |
4 |
while (s < end) { |
689
|
71 |
1196 |
if (isHNAME_FIRST(*s) || *s == '@') { |
|
4 |
67 |
if (isHNAME_FIRST(*s) || *s == '@') { |
695
|
4876 |
1200 |
while (isHNAME_CHAR(*s)) |
699
|
7620 |
2 |
for ( arg_name = argname; a < ARG_LITERAL ; ++a, ++arg_name ) { |
700
|
1202 |
6418 |
if (strnEQ(*arg_name, name, s - name) && |
|
1198 |
4 |
if (strnEQ(*arg_name, name, s - name) && |
704
|
1198 |
2 |
if (a < ARG_LITERAL) { |
708
|
1194 |
4 |
if (a == ARG_LINE || a == ARG_COLUMN) { |
|
5 |
1189 |
if (a == ARG_LINE || a == ARG_COLUMN) { |
709
|
5 |
4 |
if (!p_state->line) |
712
|
7 |
1191 |
if (a == ARG_SKIPPED_TEXT) { |
713
|
5 |
2 |
if (!p_state->skipped_text) { |
717
|
1120 |
78 |
if (a == ARG_ATTR || a == ARG_ATTRARR) { |
|
4 |
1116 |
if (a == ARG_ATTR || a == ARG_ATTRARR) { |
718
|
79 |
3 |
if (p_state->argspec_entity_decode != ARG_DTEXT) |
721
|
10 |
1106 |
else if (a == ARG_DTEXT) { |
729
|
61 |
6 |
else if (*s == '"' || *s == '\'') { |
|
61 |
0 |
else if (*s == '"' || *s == '\'') { |
732
|
655 |
1 |
while (s < end && *s != *string_beg && *s != '\\') |
|
590 |
65 |
while (s < end && *s != *string_beg && *s != '\\') |
|
589 |
1 |
while (s < end && *s != *string_beg && *s != '\\') |
734
|
65 |
2 |
if (*s == *string_beg) { |
738
|
1 |
64 |
if (len > 255) |
746
|
1 |
1 |
else if (*s == '\\') { |
757
|
1 |
1262 |
while (isHSPACE(*s)) |
760
|
7 |
1255 |
if (*s == '}' && SvPVX(argspec)[0] == ARG_FLAG_FLAT_ARRAY) { |
|
7 |
0 |
if (*s == '}' && SvPVX(argspec)[0] == ARG_FLAG_FLAT_ARRAY) { |
763
|
0 |
7 |
while (isHSPACE(*s)) |
765
|
0 |
7 |
if (s < end) |
769
|
453 |
809 |
if (s == end) |
771
|
1 |
808 |
if (*s != ',') { |
775
|
32 |
808 |
while (isHSPACE(*s)) |
805
|
0 |
4358 |
SvOK_off(old_pend_text); |
822
|
11184 |
59 |
while (s < end) { |
823
|
11153 |
31 |
if (!quote && *s == '>') |
|
2875 |
8278 |
if (!quote && *s == '>') |
825
|
8281 |
28 |
if (*s == '"' || *s == '\'') { |
|
41 |
8240 |
if (*s == '"' || *s == '\'') { |
826
|
6 |
63 |
if (*s == quote) { |
829
|
63 |
0 |
else if (!quote && (prev == ' ' || prev == '=')) { |
|
57 |
6 |
else if (!quote && (prev == ' ' || prev == '=')) { |
|
0 |
57 |
else if (!quote && (prev == ' ' || prev == '=')) { |
843
|
6 |
171 |
if (p_state->strict_comment) { |
851
|
125 |
0 |
while (s < end && *s != '-' && *s != '>') |
|
112 |
13 |
while (s < end && *s != '-' && *s != '>') |
|
104 |
8 |
while (s < end && *s != '-' && *s != '>') |
854
|
0 |
21 |
if (s == end) { |
855
|
0 |
0 |
FREE_TOKENS; |
859
|
8 |
13 |
if (*s == '>') { |
861
|
2 |
6 |
if (start_com) |
869
|
0 |
6 |
FREE_TOKENS; |
875
|
0 |
13 |
if (s == end) { |
876
|
0 |
0 |
FREE_TOKENS; |
880
|
12 |
1 |
if (*s == '-') { |
884
|
9 |
3 |
if (start_com) { |
885
|
0 |
9 |
PUSH_TOKEN(start_com, s-2); |
894
|
2 |
169 |
else if (p_state->no_dash_dash_comment_end) { |
898
|
16 |
0 |
while (s < end && *s != '>') |
|
14 |
2 |
while (s < end && *s != '>') |
901
|
2 |
0 |
if (s < end) { |
915
|
2226 |
104 |
while (s < end && *s != '-') |
|
2131 |
95 |
while (s < end && *s != '-') |
918
|
95 |
104 |
if (s < end) { |
920
|
78 |
17 |
if (*s == '-') { |
922
|
15 |
78 |
while (isHSPACE(*s)) |
924
|
48 |
30 |
if (*s == '>') { |
931
|
30 |
17 |
if (s < end) { |
937
|
121 |
0 |
if (s == end) |
955
|
32 |
0 |
if (ms_stack) { |
958
|
18 |
32 |
for (stack_idx = 0; stack_idx <= stack_len; stack_idx++) { |
960
|
18 |
0 |
if (svp) { |
965
|
25 |
18 |
for (i = 0; i <= tokens_len; i++) { |
967
|
25 |
0 |
if (svp) { |
969
|
25 |
0 |
char *token_str = SvPV(*svp, len); |
971
|
11 |
14 |
if (strEQ(token_str, "include")) |
973
|
4 |
10 |
else if (strEQ(token_str, "rcdata")) |
975
|
7 |
3 |
else if (strEQ(token_str, "cdata")) |
977
|
2 |
1 |
else if (strEQ(token_str, "ignore")) |
981
|
24 |
1 |
if (p_state->ms < token) |
1001
|
0 |
16 |
if (!p_state->marked_sections) |
1010
|
5 |
17 |
while (isHSPACE(*s)) |
1012
|
20 |
17 |
while (isHNAME_FIRST(*s)) { |
1017
|
97 |
20 |
while (isHNAME_CHAR(*s)) |
1020
|
19 |
20 |
while (isHSPACE(*s)) |
1022
|
0 |
20 |
if (s == end) |
1025
|
13 |
7 |
if (!tokens) |
1028
|
1 |
19 |
if (utf8) |
1032
|
1 |
16 |
if (*s == '-') { |
1034
|
1 |
0 |
if (*s == '-') { |
1038
|
9 |
0 |
while (s < end && *s != '-') |
|
8 |
1 |
while (s < end && *s != '-') |
1040
|
0 |
1 |
if (s == end) |
1044
|
1 |
0 |
if (*s == '-') { |
1055
|
16 |
0 |
if (*s == '[') { |
1059
|
3 |
13 |
if (!tokens) { |
1064
|
4 |
12 |
if (!p_state->ms_stack) |
1088
|
186 |
342 |
if (*s == '-') { |
1093
|
6 |
180 |
if (s == end) |
1096
|
3 |
177 |
if (*s != '-') |
1103
|
121 |
56 |
return (tmp == s) ? beg : tmp; |
1107
|
16 |
326 |
if (*s == '[') { |
1111
|
0 |
16 |
if (!tmp) |
1117
|
1 |
325 |
if (*s == '>') { |
1127
|
295 |
30 |
if (isALPHA(*s)) { |
1134
|
1949 |
16 |
while (s < end && isHNAME_CHAR(*s)) |
|
1670 |
279 |
while (s < end && isHNAME_CHAR(*s)) |
1137
|
16 |
279 |
if (s == end) |
1141
|
4 |
10 |
if (!((decl_id_len == 7 && |
1142
|
266 |
0 |
strnEQx(decl_id, "DOCTYPE", 7, !CASE_SENSITIVE(p_state))) || |
|
266 |
0 |
strnEQx(decl_id, "DOCTYPE", 7, !CASE_SENSITIVE(p_state))) || |
1143
|
4 |
0 |
(decl_id_len == 6 && |
1144
|
3 |
1 |
strnEQx(decl_id, "ENTITY", 6, !CASE_SENSITIVE(p_state))) |
|
3 |
0 |
strnEQx(decl_id, "ENTITY", 6, !CASE_SENSITIVE(p_state))) |
1152
|
0 |
269 |
PUSH_TOKEN(decl_id, s); |
1155
|
50567 |
165 |
while (s < end && isHSPACE(*s)) |
|
25413 |
25154 |
while (s < end && isHSPACE(*s)) |
1158
|
165 |
25154 |
if (s == end) |
1161
|
25025 |
129 |
if (*s == '"' || *s == '\'' || (*s == '`' && p_state->backquote)) { |
|
25025 |
0 |
if (*s == '"' || *s == '\'' || (*s == '`' && p_state->backquote)) { |
|
0 |
25025 |
if (*s == '"' || *s == '\'' || (*s == '`' && p_state->backquote)) { |
|
0 |
0 |
if (*s == '"' || *s == '\'' || (*s == '`' && p_state->backquote)) { |
1164
|
2849 |
65 |
while (s < end && *s != *str_beg) |
|
2785 |
64 |
while (s < end && *s != *str_beg) |
1166
|
65 |
64 |
if (s == end) |
1169
|
0 |
64 |
PUSH_TOKEN(str_beg, s); |
1171
|
12405 |
12620 |
else if (*s == '-') { |
1175
|
0 |
12405 |
if (s == end) |
1177
|
0 |
12405 |
if (*s != '-') |
1182
|
62054 |
0 |
while (s < end && *s != '-') |
|
49647 |
12407 |
while (s < end && *s != '-') |
1184
|
0 |
12407 |
if (s == end) |
1187
|
0 |
12407 |
if (s == end) |
1189
|
12405 |
2 |
if (*s == '-') { |
1191
|
0 |
12405 |
PUSH_TOKEN(com_beg, s); |
1196
|
12598 |
22 |
else if (*s != '>') { |
1200
|
25705 |
17 |
while (s < end && isHNOT_SPACE_GT(*s)) |
|
13124 |
12581 |
while (s < end && isHNOT_SPACE_GT(*s)) |
1202
|
17 |
12581 |
if (s == end) |
1204
|
696 |
11885 |
PUSH_TOKEN(word_beg, s); |
1211
|
0 |
22 |
if (s == end) |
1213
|
22 |
0 |
if (*s == '>') { |
1216
|
1 |
21 |
FREE_TOKENS; |
1221
|
0 |
10 |
FREE_TOKENS; |
1225
|
153 |
110 |
FREE_TOKENS; |
1231
|
0 |
43 |
if (p_state->strict_comment) |
1235
|
5739 |
8 |
while (s < end && *s != '>') |
|
5704 |
35 |
while (s < end && *s != '>') |
1237
|
35 |
8 |
if (s < end) { |
1261
|
6328 |
20 |
if (STRICT_NAMES(p_state)) { |
|
0 |
6328 |
if (STRICT_NAMES(p_state)) { |
1273
|
98795 |
197 |
while (s < end && isHCTYPE(*s, tag_name_char)) { |
|
92644 |
6151 |
while (s < end && isHCTYPE(*s, tag_name_char)) { |
1274
|
363 |
92281 |
if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) { |
|
363 |
0 |
if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) { |
|
0 |
363 |
if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) { |
1275
|
0 |
0 |
if ((s + 1) == end) |
1277
|
0 |
0 |
if (*(s + 1) == '>') |
1282
|
0 |
6348 |
PUSH_TOKEN(beg+1, s); /* tagname */ |
1284
|
5290 |
6348 |
while (isHSPACE(*s)) |
1286
|
223 |
6125 |
if (s == end) |
1289
|
26617 |
4857 |
while (isHCTYPE(*s, attr_name_first)) { |
1293
|
66 |
26551 |
if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) { |
|
66 |
0 |
if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) { |
|
4 |
62 |
if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) { |
1294
|
0 |
4 |
if ((s + 1) == end) |
1296
|
4 |
0 |
if (*(s + 1) == '>') |
1300
|
375738 |
665 |
while (s < end && isHCTYPE(*s, attr_name_char)) { |
|
349790 |
25948 |
while (s < end && isHCTYPE(*s, attr_name_char)) { |
1301
|
1347 |
348443 |
if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) { |
|
1347 |
0 |
if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) { |
|
0 |
1347 |
if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) { |
1302
|
0 |
0 |
if ((s + 1) == end) |
1304
|
0 |
0 |
if (*(s + 1) == '>') |
1309
|
665 |
25948 |
if (s == end) |
1313
|
1104 |
24844 |
PUSH_TOKEN(attr_name_beg, attr_name_end); /* attr name */ |
1315
|
8093 |
25948 |
while (isHSPACE(*s)) |
1317
|
16 |
25932 |
if (s == end) |
1320
|
16784 |
9148 |
if (*s == '=') { |
1323
|
30 |
16784 |
while (isHSPACE(*s)) |
1325
|
32 |
16752 |
if (s == end) |
1327
|
6 |
16746 |
if (*s == '>') { |
1329
|
0 |
6 |
PUSH_TOKEN(s, s); |
1332
|
15915 |
831 |
if (*s == '"' || *s == '\'' || (*s == '`' && p_state->backquote)) { |
|
13768 |
2147 |
if (*s == '"' || *s == '\'' || (*s == '`' && p_state->backquote)) { |
|
6 |
13762 |
if (*s == '"' || *s == '\'' || (*s == '`' && p_state->backquote)) { |
|
1 |
5 |
if (*s == '"' || *s == '\'' || (*s == '`' && p_state->backquote)) { |
1335
|
31842 |
276 |
while (s < end && *s != *str_beg) |
|
29139 |
2703 |
while (s < end && *s != *str_beg) |
1337
|
276 |
2703 |
if (s == end) |
1340
|
0 |
2703 |
PUSH_TOKEN(str_beg, s); |
1344
|
72848 |
74 |
while (s < end && isHNOT_SPACE_GT(*s)) { |
|
59157 |
13691 |
while (s < end && isHNOT_SPACE_GT(*s)) { |
1345
|
233 |
58924 |
if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) { |
|
232 |
1 |
if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) { |
|
1 |
231 |
if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) { |
1346
|
0 |
2 |
if ((s + 1) == end) |
1348
|
2 |
0 |
if (*(s + 1) == '>') |
1353
|
74 |
13693 |
if (s == end) |
1355
|
0 |
13693 |
PUSH_TOKEN(word_start, s); |
1357
|
13769 |
16396 |
while (isHSPACE(*s)) |
1359
|
195 |
16201 |
if (s == end) |
1363
|
0 |
9148 |
PUSH_TOKEN(0, 0); /* boolean attr value */ |
1367
|
4847 |
20 |
if (ALLOW_EMPTY_TAG(p_state) && *s == '/') { |
|
605 |
4242 |
if (ALLOW_EMPTY_TAG(p_state) && *s == '/') { |
|
7 |
618 |
if (ALLOW_EMPTY_TAG(p_state) && *s == '/') { |
1369
|
0 |
7 |
if (s == end) |
1374
|
4867 |
0 |
if (*s == '>') { |
1378
|
7 |
4860 |
if (empty_tag) { |
1381
|
4843 |
17 |
else if (!p_state->xml_mode) { |
1387
|
33718 |
4738 |
for (i = 0; literal_mode_elem[i].len; i++) { |
1388
|
549 |
33169 |
if (tag_len == literal_mode_elem[i].len) { |
1393
|
997 |
0 |
while (len) { |
1394
|
159 |
838 |
if (toLOWER(*s) != *t) |
|
444 |
553 |
if (toLOWER(*s) != *t) |
1398
|
105 |
448 |
if (!--len) { |
1412
|
360 |
4507 |
FREE_TOKENS; |
1416
|
0 |
0 |
FREE_TOKENS; |
1420
|
263 |
1218 |
FREE_TOKENS; |
1431
|
2917 |
17 |
if (STRICT_NAMES(p_state)) { |
|
0 |
2917 |
if (STRICT_NAMES(p_state)) { |
1439
|
2927 |
7 |
if (isHCTYPE(*s, name_first)) { |
1443
|
5230 |
48 |
while (s < end && isHCTYPE(*s, name_char)) |
|
2351 |
2879 |
while (s < end && isHCTYPE(*s, name_char)) |
1447
|
0 |
2927 |
if (p_state->strict_end) { |
1448
|
0 |
0 |
while (isHSPACE(*s)) |
1454
|
2869 |
58 |
if (s < end) { |
1455
|
2869 |
0 |
if (*s == '>') { |
1466
|
7 |
0 |
else if (!p_state->strict_comment) { |
1468
|
6 |
1 |
if (s < end) { |
1492
|
8004 |
19 |
while (s < end) { |
1493
|
50 |
7954 |
if (*s == '>') { |
1497
|
44 |
6 |
if (p_state->xml_mode || p_state->xml_pic) { |
|
2 |
42 |
if (p_state->xml_mode || p_state->xml_pic) { |
1499
|
8 |
0 |
if (s - beg < 4 || s[-2] != '?') |
|
2 |
6 |
if (s - beg < 4 || s[-2] != '?') |
1534
|
20993 |
6 |
while (!p_state->eof) { |
1541
|
287 |
20874 |
while (p_state->literal_mode) { |
1545
|
2585 |
119 |
while (s < end && *s != '<') { |
|
2417 |
168 |
while (s < end && *s != '<') { |
1549
|
119 |
168 |
if (s == end) { |
1558
|
147 |
21 |
if (*s == '/') { |
1560
|
666 |
111 |
while (*l && toLOWER(*s) == *l) { |
|
15 |
651 |
while (*l && toLOWER(*s) == *l) { |
|
630 |
36 |
while (*l && toLOWER(*s) == *l) { |
1565
|
111 |
36 |
if (!*l && (strNE(p_state->literal_mode, "plaintext") || p_state->closing_plaintext)) { |
|
2 |
109 |
if (!*l && (strNE(p_state->literal_mode, "plaintext") || p_state->closing_plaintext)) { |
|
1 |
1 |
if (!*l && (strNE(p_state->literal_mode, "plaintext") || p_state->closing_plaintext)) { |
1571
|
0 |
110 |
while (isHSPACE(*s)) |
1573
|
101 |
9 |
if (*s == '>') { |
1575
|
101 |
0 |
if (t != end_text) |
1589
|
8 |
20875 |
while (p_state->ms == MS_CDATA || p_state->ms == MS_RCDATA) { |
|
2 |
20873 |
while (p_state->ms == MS_CDATA || p_state->ms == MS_RCDATA) { |
1590
|
115 |
1 |
while (s < end && *s != ']') |
|
106 |
9 |
while (s < end && *s != ']') |
1592
|
9 |
1 |
if (*s == ']') { |
1595
|
9 |
0 |
if (*s == ']' && *(s + 1) == '>') { |
|
8 |
1 |
if (*s == ']' && *(s + 1) == '>') { |
1598
|
8 |
0 |
if (t != end_text) |
1608
|
1 |
1 |
if (s == end) { |
1616
|
1797856 |
4077 |
while (s < end && *s != '<') { |
|
1781060 |
16796 |
while (s < end && *s != '<') { |
1618
|
65 |
1780995 |
if (p_state->ms && *s == ']') { |
|
8 |
57 |
if (p_state->ms && *s == ']') { |
1621
|
8 |
0 |
if (*s == ']') { |
1623
|
8 |
0 |
if (*s == '>') { |
1639
|
17212 |
3661 |
if (s != t) { |
1640
|
13296 |
3916 |
if (*s == '<') { |
1646
|
359 |
3557 |
if (isHSPACE(*s)) { |
1648
|
647 |
133 |
while (s >= t && isHSPACE(*s)) |
|
421 |
226 |
while (s >= t && isHSPACE(*s)) |
1653
|
111519 |
639 |
while (s >= t && !isHSPACE(*s)) |
|
108601 |
2918 |
while (s >= t && !isHSPACE(*s)) |
1655
|
5675 |
889 |
while (s >= t && isHSPACE(*s)) |
|
3007 |
2668 |
while (s >= t && isHSPACE(*s)) |
1659
|
2894 |
1022 |
if (s != t) |
1665
|
346 |
16611 |
if (end - s < 3) |
1674
|
6348 |
10263 |
if (isHNAME_FIRST(*s)) |
1676
|
2934 |
7329 |
else if (*s == '/') |
1678
|
528 |
6801 |
else if (*s == '!') |
1680
|
67 |
6734 |
else if (*s == '?') |
1686
|
9876 |
6734 |
if (new_pos) { |
1687
|
1957 |
7919 |
if (new_pos == t) { |
1716
|
211 |
6333 |
if (!p_state->start_document) { |
1722
|
197 |
6347 |
if (!chunk) { |
1725
|
151 |
46 |
if (p_state->buf && SvOK(p_state->buf)) { |
|
2 |
149 |
if (p_state->buf && SvOK(p_state->buf)) { |
|
2 |
0 |
if (p_state->buf && SvOK(p_state->buf)) { |
|
0 |
2 |
if (p_state->buf && SvOK(p_state->buf)) { |
1727
|
149 |
0 |
s = SvPV(p_state->buf, len); |
1732
|
152 |
0 |
while (s < end) { |
1733
|
2 |
150 |
if (p_state->literal_mode) { |
1734
|
0 |
2 |
if (strEQ(p_state->literal_mode, "plaintext") || |
|
0 |
0 |
if (strEQ(p_state->literal_mode, "plaintext") || |
1735
|
0 |
0 |
strEQ(p_state->literal_mode, "xmp") || |
1736
|
0 |
0 |
strEQ(p_state->literal_mode, "iframe") || |
1742
|
0 |
0 |
if (strEQ(p_state->literal_mode, "script") || |
|
0 |
0 |
if (strEQ(p_state->literal_mode, "script") || |
1760
|
135 |
15 |
if (!p_state->strict_comment && !p_state->no_dash_dash_comment_end && *s == '<') { |
|
132 |
3 |
if (!p_state->strict_comment && !p_state->no_dash_dash_comment_end && *s == '<') { |
|
3 |
129 |
if (!p_state->strict_comment && !p_state->no_dash_dash_comment_end && *s == '<') { |
1766
|
132 |
15 |
if (!p_state->strict_comment && *s == '<') { |
|
3 |
129 |
if (!p_state->strict_comment && *s == '<') { |
1768
|
3 |
0 |
if (s1 == end || isHNAME_FIRST(*s1) || *s1 == '/' || *s1 == '!' || *s1 == '?') { |
|
2 |
1 |
if (s1 == end || isHNAME_FIRST(*s1) || *s1 == '/' || *s1 == '!' || *s1 == '?') { |
|
1 |
1 |
if (s1 == end || isHNAME_FIRST(*s1) || *s1 == '/' || *s1 == '!' || *s1 == '?') { |
|
1 |
0 |
if (s1 == end || isHNAME_FIRST(*s1) || *s1 == '/' || *s1 == '!' || *s1 == '?') { |
|
0 |
1 |
if (s1 == end || isHNAME_FIRST(*s1) || *s1 == '/' || *s1 == '!' || *s1 == '?') { |
1781
|
147 |
2 |
if (s < end) { |
1789
|
60 |
137 |
if (p_state->pend_text && SvOK(p_state->pend_text)) |
|
0 |
60 |
if (p_state->pend_text && SvOK(p_state->pend_text)) |
|
0 |
0 |
if (p_state->pend_text && SvOK(p_state->pend_text)) |
|
0 |
0 |
if (p_state->pend_text && SvOK(p_state->pend_text)) |
1792
|
0 |
197 |
if (p_state->ignoring_element) { |
1801
|
10 |
187 |
if (p_state->line) |
1810
|
5 |
6342 |
if (p_state->utf8_mode) |
1813
|
6116 |
231 |
if (p_state->buf && SvOK(p_state->buf)) { |
|
100 |
6016 |
if (p_state->buf && SvOK(p_state->buf)) { |
|
100 |
0 |
if (p_state->buf && SvOK(p_state->buf)) { |
|
0 |
100 |
if (p_state->buf && SvOK(p_state->buf)) { |
1815
|
6016 |
0 |
beg = SvPV(p_state->buf, len); |
1819
|
314 |
17 |
beg = SvPV(chunk, len); |
1821
|
211 |
120 |
if (p_state->offset == 0 && DOWARN) { |
|
15 |
196 |
if (p_state->offset == 0 && DOWARN) { |
1823
|
14 |
1 |
if (p_state->argspec_entity_decode && |
|
1 |
13 |
if (p_state->argspec_entity_decode && |
1824
|
0 |
1 |
!(p_state->attr_encoded && p_state->argspec_entity_decode == ARG_ATTR) && |
|
10 |
3 |
!(p_state->attr_encoded && p_state->argspec_entity_decode == ARG_ATTR) && |
1825
|
7 |
3 |
!p_state->utf8_mode && ( |
1826
|
7 |
0 |
(!utf8 && len >= 3 && strnEQ(beg, "\xEF\xBB\xBF", 3)) || |
|
5 |
2 |
(!utf8 && len >= 3 && strnEQ(beg, "\xEF\xBB\xBF", 3)) || |
|
3 |
5 |
(!utf8 && len >= 3 && strnEQ(beg, "\xEF\xBB\xBF", 3)) || |
1827
|
3 |
0 |
(utf8 && len >= 6 && strnEQ(beg, "\xC3\xAF\xC2\xBB\xC2\xBF", 6)) || |
|
2 |
1 |
(utf8 && len >= 6 && strnEQ(beg, "\xC3\xAF\xC2\xBB\xC2\xBF", 6)) || |
|
5 |
2 |
(utf8 && len >= 6 && strnEQ(beg, "\xC3\xAF\xC2\xBB\xC2\xBF", 6)) || |
1828
|
1 |
4 |
(!utf8 && probably_utf8_chunk(aTHX_ beg, len)) |
1834
|
3 |
12 |
if (utf8 && len >= 2 && strnEQ(beg, "\xFF\xFE", 2)) { |
|
3 |
0 |
if (utf8 && len >= 2 && strnEQ(beg, "\xFF\xFE", 2)) { |
|
0 |
3 |
if (utf8 && len >= 2 && strnEQ(beg, "\xFF\xFE", 2)) { |
1837
|
12 |
3 |
if (!utf8 && len >= 4 && |
|
12 |
0 |
if (!utf8 && len >= 4 && |
|
11 |
1 |
if (!utf8 && len >= 4 && |
1838
|
1 |
10 |
(strnEQ(beg, "\x00\x00\xFE\xFF", 4) || |
1844
|
10 |
3 |
else if (!utf8 && len >= 2 && |
|
10 |
0 |
else if (!utf8 && len >= 2 && |
|
9 |
1 |
else if (!utf8 && len >= 2 && |
1845
|
1 |
8 |
(strnEQ(beg, "\xFE\xFF", 2) || strnEQ(beg, "\xFF\xFE", 2)) |
1853
|
4 |
6343 |
if (!len) |
1859
|
6175 |
167 |
if (s == end || p_state->eof) { |
|
8 |
6167 |
if (s == end || p_state->eof) { |
1860
|
105 |
70 |
if (p_state->buf) { |
1861
|
40 |
65 |
SvOK_off(p_state->buf); |
1866
|
6011 |
156 |
if (p_state->buf) { |
1868
|
86 |
5925 |
if (SvOK(p_state->buf)) { |
|
86 |
0 |
if (SvOK(p_state->buf)) { |
|
0 |
86 |
if (SvOK(p_state->buf)) { |
1873
|
16 |
70 |
if (utf8) |
1881
|
8 |
148 |
if (utf8) |