Branch Coverage

hparser.c
Criterion Covered Total %
branch 806 952 84.6


line true false branch
140 4 35274 if (p_state->eof)
184 0 35274 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 35120 p_state->offset += CHR_DIST(end, beg);
196 122 35152 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 35242 if (event == E_NONE)
216 4 35238 if (p_state->ms == MS_IGNORE)
221 35108 130 if (p_state->ignore_tags || p_state->report_tags || p_state->ignore_elements) {
35022 86 if (p_state->ignore_tags || p_state->report_tags || p_state->ignore_elements) {
197 34825 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 31898 if (!h->cb) {
277 2178 1108 if (!h->cb)
281 19563 13443 if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) {
7 19556 if (SvTYPE(h->cb) != SVt_PVAV && !SvTRUE(h->cb)) {
286 8981 24018 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)) {
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 24031 else if (p_state->pend_text && SvOK(p_state->pend_text)) {
4294 164 else if (p_state->pend_text && SvOK(p_state->pend_text)) {
327 28488 1 argspec = h->argspec ? SvPV(h->argspec, my_na) : "";
329 8945 19544 if (SvTYPE(h->cb) == SVt_PVAV) {
331 502 8443 if (*argspec == ARG_FLAG_FLAT_ARRAY) {
342 0 19544 if (*argspec == ARG_FLAG_FLAT_ARRAY)
348 0 19544 PUSHMARK(SP);
351 94494 28489 for (s = argspec; *s; s++) {
363 74 17 if (num_tokens >= 1) {
368 411 74 for (i = 0; i < num_tokens; i++) {
369 411 0 if (tokens[i].beg) {
371 0 411 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 7183 68 if (num_tokens >= 1) {
412 29 7154 if (utf8)
414 7122 61 if (!CASE_SENSITIVE(p_state) && argcode != ARG_TOKEN0)
7117 5 if (!CASE_SENSITIVE(p_state) && argcode != ARG_TOKEN0)
7034 83 if (!CASE_SENSITIVE(p_state) && argcode != ARG_TOKEN0)
416 21 7162 if (argcode == ARG_TAG && event != E_START) {
10 11 if (argcode == ARG_TAG && event != E_START) {
425 4848 92 if (event == E_START) {
428 4839 9 if (argcode == ARG_ATTR) {
440 14424 4848 for (i = 1; i < num_tokens; i += 2) {
445 37 14387 if (utf8)
447 3731 10693 if (tokens[i+1].beg) {
450 3569 162 if (*beg == '"' || *beg == '\'' || (*beg == '`' && p_state->backquote)) {
1522 2047 if (*beg == '"' || *beg == '\'' || (*beg == '`' && p_state->backquote)) {
9 1513 if (*beg == '"' || *beg == '\'' || (*beg == '`' && p_state->backquote)) {
1 8 if (*beg == '"' || *beg == '\'' || (*beg == '`' && p_state->backquote)) {
455 34 3697 if (utf8)
457 3729 2 if (!p_state->attr_encoded) {
458 20 3709 if (p_state->utf8_mode) {
463 20 3709 if (p_state->utf8_mode)
468 0 10693 if (p_state->bool_attr_val)
474 14411 13 if (!CASE_SENSITIVE(p_state))
14407 4 if (!CASE_SENSITIVE(p_state))
477 14416 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 4738 25 if (event == E_START) {
505 14311 4738 for (i = 1; i < num_tokens; i += 2) {
508 0 14311 if (utf8)
510 14301 10 if (!CASE_SENSITIVE(p_state))
14297 4 if (!CASE_SENSITIVE(p_state))
520 115 28075 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 20317 53 if (event == E_TEXT) {
543 7 20310 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 94467 27 if (push_arg) {
597 366 94101 if (!arg)
600 31113 63354 if (array) {
607 0 63354 XPUSHs(arg);
612 8945 19544 if (array) {
613 8443 502 if (array != (AV*)h->cb)
619 19147 397 if ((enum argcode)*argspec == ARG_SELF && !SvROK(h->cb)) {
19071 76 if ((enum argcode)*argspec == ARG_SELF && !SvROK(h->cb)) {
627 19544 0 if (SvTRUE(ERRSV)) {
1 19543 if (SvTRUE(ERRSV)) {
631 19539 4 FREETMPS;
634 14 28474 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))
2 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)) {
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) &&
701 1198 4 (*arg_name)[s - name] == '\0')
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 18047 70 while (s < end) {
823 18016 31 if (!quote && *s == '>')
2897 15119 if (!quote && *s == '>')
825 15082 68 if (*s == '"' || *s == '\'') {
60 15022 if (*s == '"' || *s == '\'') {
826 6 122 if (*s == quote) {
829 122 0 else if (!quote && (prev == ' ' || prev == '=')) {
116 6 else if (!quote && (prev == ' ' || prev == '=')) {
0 116 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) {
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 1 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 185 362 if (*s == '-') {
1093 6 179 if (s == end)
1096 2 177 if (*s != '-')
1103 121 56 return (tmp == s) ? beg : tmp;
1107 17 345 if (*s == '[') {
1111 1 16 if (!tmp)
1117 1 344 if (*s == '>') {
1127 298 46 if (isALPHA(*s)) {
1134 1954 16 while (s < end && isHNAME_CHAR(*s))
1672 282 while (s < end && isHNAME_CHAR(*s))
1137 16 282 if (s == end)
1141 4 13 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 0 4 (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 13 FREE_TOKENS;
1225 153 110 FREE_TOKENS;
1231 0 62 if (p_state->strict_comment)
1235 10416 18 while (s < end && *s != '>')
10372 44 while (s < end && *s != '>')
1237 44 18 if (s < end) {
1261 7497 20 if (STRICT_NAMES(p_state)) {
0 7497 if (STRICT_NAMES(p_state)) {
1273 135950 278 while (s < end && isHCTYPE(*s, tag_name_char)) {
128711 7239 while (s < end && isHCTYPE(*s, tag_name_char)) {
1274 492 128219 if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) {
492 0 if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) {
0 492 if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) {
1275 0 0 if ((s + 1) == end)
1277 0 0 if (*(s + 1) == '>')
1282 0 7517 PUSH_TOKEN(beg+1, s); /* tagname */
1284 6245 7517 while (isHSPACE(*s))
1286 303 7214 if (s == end)
1289 32663 5652 while (isHCTYPE(*s, attr_name_first)) {
1293 74 32589 if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) {
74 0 if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) {
4 70 if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) {
1294 0 4 if ((s + 1) == end)
1296 4 0 if (*(s + 1) == '>')
1300 566272 918 while (s < end && isHCTYPE(*s, attr_name_char)) {
534531 31741 while (s < end && isHCTYPE(*s, attr_name_char)) {
1301 2044 532487 if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) {
2044 0 if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) {
0 2044 if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) {
1302 0 0 if ((s + 1) == end)
1304 0 0 if (*(s + 1) == '>')
1309 918 31741 if (s == end)
1313 1442 30299 PUSH_TOKEN(attr_name_beg, attr_name_end); /* attr name */
1315 12671 31741 while (isHSPACE(*s))
1317 21 31720 if (s == end)
1320 17589 14131 if (*s == '=') {
1323 49 17589 while (isHSPACE(*s))
1325 32 17557 if (s == end)
1327 5 17552 if (*s == '>') {
1329 0 5 PUSH_TOKEN(s, s);
1332 16716 836 if (*s == '"' || *s == '\'' || (*s == '`' && p_state->backquote)) {
14560 2156 if (*s == '"' || *s == '\'' || (*s == '`' && p_state->backquote)) {
14 14546 if (*s == '"' || *s == '\'' || (*s == '`' && p_state->backquote)) {
1 13 if (*s == '"' || *s == '\'' || (*s == '`' && p_state->backquote)) {
1335 37477 281 while (s < end && *s != *str_beg)
34765 2712 while (s < end && *s != *str_beg)
1337 281 2712 if (s == end)
1340 0 2712 PUSH_TOKEN(str_beg, s);
1344 101370 106 while (s < end && isHNOT_SPACE_GT(*s)) {
86919 14451 while (s < end && isHNOT_SPACE_GT(*s)) {
1345 291 86628 if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) {
290 1 if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) {
1 289 if (*s == '/' && ALLOW_EMPTY_TAG(p_state)) {
1346 0 2 if ((s + 1) == end)
1348 2 0 if (*(s + 1) == '>')
1353 106 14453 if (s == end)
1355 0 14453 PUSH_TOKEN(word_start, s);
1357 14445 17165 while (isHSPACE(*s))
1359 195 16970 if (s == end)
1363 0 14131 PUSH_TOKEN(0, 0); /* boolean attr value */
1367 5641 20 if (ALLOW_EMPTY_TAG(p_state) && *s == '/') {
605 5036 if (ALLOW_EMPTY_TAG(p_state) && *s == '/') {
7 618 if (ALLOW_EMPTY_TAG(p_state) && *s == '/') {
1369 0 7 if (s == end)
1374 5661 0 if (*s == '>') {
1378 7 5654 if (empty_tag) {
1381 5637 17 else if (!p_state->xml_mode) {
1387 39276 5532 for (i = 0; literal_mode_elem[i].len; i++) {
1388 681 38595 if (tag_len == literal_mode_elem[i].len) {
1393 1141 0 while (len) {
1394 231 910 if (toLOWER(*s) != *t)
576 565 if (toLOWER(*s) != *t)
1398 105 460 if (!--len) {
1412 575 5086 FREE_TOKENS;
1416 0 0 FREE_TOKENS;
1420 329 1527 FREE_TOKENS;
1431 2950 17 if (STRICT_NAMES(p_state)) {
0 2950 if (STRICT_NAMES(p_state)) {
1439 2963 4 if (isHCTYPE(*s, name_first)) {
1443 7149 49 while (s < end && isHCTYPE(*s, name_char))
4235 2914 while (s < end && isHCTYPE(*s, name_char))
1447 0 2963 if (p_state->strict_end) {
1448 0 0 while (isHSPACE(*s))
1454 2894 69 if (s < end) {
1455 2894 0 if (*s == '>') {
1466 4 0 else if (!p_state->strict_comment) {
1468 3 1 if (s < end) {
1492 23086 38 while (s < end) {
1493 81 23005 if (*s == '>') {
1497 75 6 if (p_state->xml_mode || p_state->xml_pic) {
2 73 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 27049 6 while (!p_state->eof) {
1541 287 26930 while (p_state->literal_mode) {
1545 2586 119 while (s < end && *s != '<') {
2418 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 26931 while (p_state->ms == MS_CDATA || p_state->ms == MS_RCDATA) {
2 26929 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 2739445 5745 while (s < end && *s != '<') {
2718261 21184 while (s < end && *s != '<') {
1618 65 2718196 if (p_state->ms && *s == ']') {
8 57 if (p_state->ms && *s == ']') {
1621 8 0 if (*s == ']') {
1623 8 0 if (*s == '>') {
1639 22625 4304 if (s != t) {
1640 17051 5574 if (*s == '<') {
1646 400 5174 if (isHSPACE(*s)) {
1648 730 133 while (s >= t && isHSPACE(*s))
463 267 while (s >= t && isHSPACE(*s))
1653 175889 894 while (s >= t && !isHSPACE(*s))
171609 4280 while (s >= t && !isHSPACE(*s))
1655 8431 1145 while (s >= t && isHSPACE(*s))
4402 4029 while (s >= t && isHSPACE(*s))
1659 4296 1278 if (s != t)
1665 383 20972 if (end - s < 3)
1674 7517 13455 if (isHNAME_FIRST(*s))
1676 2967 10488 else if (*s == '/')
1678 547 9941 else if (*s == '!')
1680 117 9824 else if (*s == '?')
1686 11147 9824 if (new_pos) {
1687 2372 8775 if (new_pos == t) {
1716 211 8442 if (!p_state->start_document) {
1722 197 8456 if (!chunk) {
1725 151 46 if (p_state->buf && SvOK(p_state->buf)) {
148 3 if (p_state->buf && SvOK(p_state->buf)) {
1732 152 0 while (s < end) {
1733 2 150 if (p_state->literal_mode) {
1734 0 2 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") ||
1737 0 0 strEQ(p_state->literal_mode, "textarea"))
1742 0 0 if (strEQ(p_state->literal_mode, "script") ||
1743 0 0 strEQ(p_state->literal_mode, "style"))
1760 135 15 if (!p_state->strict_comment && !p_state->no_dash_dash_comment_end && *s == '<') {
131 4 if (!p_state->strict_comment && !p_state->no_dash_dash_comment_end && *s == '<') {
4 127 if (!p_state->strict_comment && !p_state->no_dash_dash_comment_end && *s == '<') {
1766 131 15 if (!p_state->strict_comment && *s == '<') {
4 127 if (!p_state->strict_comment && *s == '<') {
1768 3 1 if (s1 == end || isHNAME_FIRST(*s1) || *s1 == '/' || *s1 == '!' || *s1 == '?') {
2 1 if (s1 == end || isHNAME_FIRST(*s1) || *s1 == '/' || *s1 == '!' || *s1 == '?') {
2 0 if (s1 == end || isHNAME_FIRST(*s1) || *s1 == '/' || *s1 == '!' || *s1 == '?') {
2 0 if (s1 == end || isHNAME_FIRST(*s1) || *s1 == '/' || *s1 == '!' || *s1 == '?') {
0 2 if (s1 == end || isHNAME_FIRST(*s1) || *s1 == '/' || *s1 == '!' || *s1 == '?') {
1781 146 2 if (s < end) {
1789 60 137 if (p_state->pend_text && SvOK(p_state->pend_text))
60 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 8451 if (p_state->utf8_mode)
1813 8225 231 if (p_state->buf && SvOK(p_state->buf)) {
8116 109 if (p_state->buf && SvOK(p_state->buf)) {
1821 211 129 if (p_state->offset == 0 && DOWARN) {
15 196 if (p_state->offset == 0 && DOWARN) {
1823 14 1 if (p_state->argspec_entity_decode &&
1824 1 13 !(p_state->attr_encoded && p_state->argspec_entity_decode == ARG_ATTR) &&
0 1 !(p_state->attr_encoded && p_state->argspec_entity_decode == ARG_ATTR) &&
1825 10 3 !p_state->utf8_mode && (
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 &&
1838 11 1 (strnEQ(beg, "\x00\x00\xFE\xFF", 4) ||
1839 1 10 strnEQ(beg, "\xFE\xFF\x00\x00", 4))
1844 10 3 else if (!utf8 && len >= 2 &&
10 0 else if (!utf8 && len >= 2 &&
1845 9 1 (strnEQ(beg, "\xFE\xFF", 2) || strnEQ(beg, "\xFF\xFE", 2))
1 8 (strnEQ(beg, "\xFE\xFF", 2) || strnEQ(beg, "\xFF\xFE", 2))
1853 4 8452 if (!len)
1859 8274 177 if (s == end || p_state->eof) {
8 8266 if (s == end || p_state->eof) {
1860 115 70 if (p_state->buf) {
1861 54 61 SvOK_off(p_state->buf);
1866 8110 156 if (p_state->buf) {
1868 8015 95 if (SvOK(p_state->buf)) {
1873 16 79 if (utf8)
1881 8 148 if (utf8)