Branch Coverage

Easy.xs
Criterion Covered Total %
branch 639 796 80.2


line true false branch
111 0 31053125 if(!(val & 0x80)) return val;
112 0 31053125 if(!(val & 0x40)) throw_utf8_error();
113 9442077 21611048 if(!(val & 0x20)) {
114 0 9442077 if(!(val & 0x1e)) throw_utf8_error();
118 7205210 14405838 } else if(!(val & 0x10)) {
122 14404378 1460 } else if(!(val & 0x08)) {
126 0 1460 } else if(!(val & 0x04)) {
130 730 730 } else if(!(val & 0x02)) {
134 0 730 } else if(!(val & 0x01)) {
135 0 0 if(!(p[1] & 0x3e)) throw_utf8_error();
136 0 0 for(i = 6; i--; )
137 0 0 if((*++p & 0xc0) != 0x80)
142 4380 730 for(i = 6; i--; ) {
144 0 4380 if((ext & 0xc0) != 0x80)
148 0 730 if(!(first_six & 0x3f))
150 4380 730 for(i = 6; i--; )
151 0 4380 if((*++p & 0xc0) != 0x80)
155 9002525 22049870 if(val == 0 && !(p[1] & req_c1))
0 9002525 if(val == 0 && !(p[1] & req_c1))
157 67069281 31052395 for(i = ncont; i--; ) {
159 0 67069281 if((ext & 0xc0) != 0x80)
171 369405 352003 if(SvUTF8(input)) return input;
173 58637871 351584 for(end = p + len; p != end; p++) {
174 419 58637452 if(*p & 0x80) {
189 27005236 3127 for(; p != end; p++) {
190 369 27004867 if(*p & 0x80) {
732 9000987 1124965 while(rl != rr) {
735 2274196 6726791 if(c >= rt->first) {
774 502428 2775 if(!(c0 & 0x80)) return asciichar_attr[c0] & CHARATTR_NAMESTART;
783 76506096 1122190 if(!(c0 & 0x80)) return asciichar_attr[c0] & CHARATTR_NAME;
791 1522160 0 if(!(c0 & 0x80)) return asciichar_attr[c0] & CHARATTR_S;
805 3749 276 if(!(c0 & 0x80)) return asciichar_attr[c0] & CHARATTR_ENCSTART;
812 7212292 184 if(!(c0 & 0x80)) return asciichar_attr[c0] & CHARATTR_ENC;
818 10121390 19806906 if(c <= 0xd7ff) return 1;
819 19805802 1104 return c >= 0xe000 && c <= 0x10ffff && (c & ~1) != 0xfffe;
19804162 1640 return c >= 0xe000 && c <= 0x10ffff && (c & ~1) != 0xfffe;
19803058 1104 return c >= 0xe000 && c <= 0x10ffff && (c & ~1) != 0xfffe;
824 106 136 return (c < 0x80) ? asciichar_attr[c] & CHARATTR_CHAR :
832 148595725 29928160 if(!(c0 & 0x80)) return asciichar_attr[c0] & CHARATTR_CHAR;
845 36 172091 if(!SvROK(cobj))
848 172061 30 if(SvTYPE((SV*)twine) != SVt_PVAV || av_len(twine) != 0)
21 172040 if(SvTYPE((SV*)twine) != SVt_PVAV || av_len(twine) != 0)
850 172037 3 if(!SvOBJECT((SV*)twine) || SvSTASH((SV*)twine) != stash_content)
0 172037 if(!SvOBJECT((SV*)twine) || SvSTASH((SV*)twine) != stash_content)
853 0 172037 if(!item_ptr) throw_data_error("content array isn't an array");
873 90 172648 if(!SvROK(eref)) throw_data_error("element data isn't an element");
875 172573 75 if(SvTYPE((SV*)earr) != SVt_PVAV || av_len(earr) != 2)
75 172498 if(SvTYPE((SV*)earr) != SVt_PVAV || av_len(earr) != 2)
877 172498 0 if(!SvOBJECT((SV*)earr) || SvSTASH((SV*)earr) != stash_element)
0 172498 if(!SvOBJECT((SV*)earr) || SvSTASH((SV*)earr) != stash_element)
888 19972 4 if(!sv_is_string(idata))
19972 0 if(!sv_is_string(idata))
48 19924 if(!sv_is_string(idata))
895 159665053 15348 while(*p != 0) {
896 4576 159660477 if(!char_is_char(p))
901 352 14996 if(p != end)
912 6 14081 if(!SvROK(itref)) throw_data_error("content array isn't an array");
914 14076 5 if(SvTYPE((SV*)itwine) != SVt_PVAV || SvOBJECT((SV*)itwine))
4 14072 if(SvTYPE((SV*)itwine) != SVt_PVAV || SvOBJECT((SV*)itwine))
917 80 13992 if(clen & 1) throw_data_error("content array has even length");
925 0 19001 if(!item_ptr)
928 18961 40 if(!sv_is_string(iitem))
18961 0 if(!sv_is_string(iitem))
480 18481 if(!sv_is_string(iitem))
932 8352 5649 if(i++ == clen) break;
934 0 5649 if(!item_ptr)
937 240 5409 if(!SvROK(iitem))
940 5209 200 if(!SvOBJECT(elem) || SvSTASH(elem) != stash_element)
200 5009 if(!SvOBJECT(elem) || SvSTASH(elem) != stash_element)
986 16 472 if(!char_is_s(p)) throw_syntax_error(p);
989 639992 472 } while(char_is_s(p));
995 720018 161168 while(char_is_s(p))
1004 2 382 if(*p != '=') throw_syntax_error(p);
1014 32 321720 if(!char_is_namestart(p)) throw_syntax_error(p);
1017 1200326 321720 } while(char_is_name(p));
1049 0 160358 if(*p != '&') throw_syntax_error(p);
1051 250 160108 if(c == '#') {
1053 122 128 if(c == 'x') {
1055 122 0 if(val > 15) throw_syntax_error(p);
1058 116 316 if(c > 15) break;
1059 6 310 if(val & 0xf0000000)
1066 128 0 if(val > 9) throw_syntax_error(p);
1069 126 376 if(c > 9) break;
1070 2 374 if(val >= 100000000)
1076 0 242 if(c != 77) throw_syntax_error(p);
1078 98 144 if(!codepoint_is_char(val))
1081 30 160078 } else if(c == 'l' && p[1] == 't' && p[2] == ';') {
30 0 } else if(c == 'l' && p[1] == 't' && p[2] == ';') {
30 0 } else if(c == 'l' && p[1] == 't' && p[2] == ';') {
1084 28 160050 } else if(c == 'g' && p[1] == 't' && p[2] == ';') {
28 0 } else if(c == 'g' && p[1] == 't' && p[2] == ';') {
28 0 } else if(c == 'g' && p[1] == 't' && p[2] == ';') {
1087 160026 24 } else if(c == 'a' && p[1] == 'm' && p[2] == 'p' && p[3] == ';') {
22 160004 } else if(c == 'a' && p[1] == 'm' && p[2] == 'p' && p[3] == ';') {
22 0 } else if(c == 'a' && p[1] == 'm' && p[2] == 'p' && p[3] == ';') {
22 0 } else if(c == 'a' && p[1] == 'm' && p[2] == 'p' && p[3] == ';') {
1090 4 160024 } else if(c == 'q' && p[1] == 'u' && p[2] == 'o' && p[3] == 't' &&
4 0 } else if(c == 'q' && p[1] == 'u' && p[2] == 'o' && p[3] == 't' &&
4 0 } else if(c == 'q' && p[1] == 'u' && p[2] == 'o' && p[3] == 't' &&
4 0 } else if(c == 'q' && p[1] == 'u' && p[2] == 'o' && p[3] == 't' &&
1091 4 0 p[4] == ';') {
1094 160004 20 } else if(c == 'a' && p[1] == 'p' && p[2] == 'o' && p[3] == 's' &&
160004 0 } else if(c == 'a' && p[1] == 'p' && p[2] == 'o' && p[3] == 's' &&
160004 0 } else if(c == 'a' && p[1] == 'p' && p[2] == 'o' && p[3] == 's' &&
160004 0 } else if(c == 'a' && p[1] == 'p' && p[2] == 'o' && p[3] == 's' &&
1095 160004 0 p[4] == ';') {
1100 4 16 if(*p != ';') throw_syntax_error(p);
1125 3256484 480014 if(c < 0x80) {
1128 320620 2935864 if(c == endc && (c != ']' ||
38 320582 if(c == endc && (c != ']' ||
1129 38 0 (p[1] == ']' && p[2] == '>')))
0 38 (p[1] == ']' && p[2] == '>')))
1131 480198 2455666 if(c < 0x20) {
1132 54 480144 if(c == 0 && (flags & CHARDATA_NUL_END)) {
8 46 if(c == 0 && (flags & CHARDATA_NUL_END)) {
1134 480140 12 } else if(c == 0x9 || c == 0xa) {
34 480106 } else if(c == 0x9 || c == 0xa) {
1137 480092 14 } else if(c == 0xd) {
1138 480012 80 if(p[1] == 0xa) p++;
1140 160008 320084 0x20 : 0xa;
1144 160362 2295304 } else if(c == '&' && (flags & CHARDATA_AMP_REF)) {
160358 4 } else if(c == '&' && (flags & CHARDATA_AMP_REF)) {
1146 12 2295296 } else if((c == '<' && (flags & CHARDATA_LT_ERR)) ||
4 8 } else if((c == '<' && (flags & CHARDATA_LT_ERR)) ||
112 2295188 } else if((c == '<' && (flags & CHARDATA_LT_ERR)) ||
1148 80 32 (flags & CHARDATA_RBRBGT_ERR) &&
1149 32 48 p[1] == ']' && p[2] == '>')) {
16 16 p[1] == ']' && p[2] == '>')) {
1155 640332 2295322 if(val) {
1158 224 640108 if(lstart != lend)
1162 640332 0 vstart = (U8*)SvGROW(value, vlen+4+1);
464 639868 vstart = (U8*)SvGROW(value, vlen+4+1);
1171 0 480014 if(!char_is_char(p)) throw_syntax_error(p);
1175 320568 98 if(lstart != p) sv_catpvn_nomg(value, (char*)lstart, p-lstart);
1184 160048 0 if(!(p[0] == '<' && p[1] == '!' && p[2] == '-' && p[3] == '-'))
160048 0 if(!(p[0] == '<' && p[1] == '!' && p[2] == '-' && p[3] == '-'))
160042 6 if(!(p[0] == '<' && p[1] == '!' && p[2] == '-' && p[3] == '-'))
0 160042 if(!(p[0] == '<' && p[1] == '!' && p[2] == '-' && p[3] == '-'))
1188 160044 1040130 if(*p == '-') {
1189 160040 4 if(*++p == '-') break;
1191 2 1040132 if(!char_is_char(p)) throw_syntax_error(p);
1194 8 160032 if(p[1] != '>') throw_syntax_error(p);
1202 60 0 if(!(p[0] == '<' && p[1] == '?')) throw_syntax_error(p);
0 60 if(!(p[0] == '<' && p[1] == '?')) throw_syntax_error(p);
1205 6 54 if(tgtlen == 3 && (p[0] & ~0x20) == 'X' &&
6 0 if(tgtlen == 3 && (p[0] & ~0x20) == 'X' &&
1206 6 0 (p[1] & ~0x20) == 'M' &&
1207 6 0 (p[2] & ~0x20) == 'L')
1210 32 22 if(!(p[0] == '?' && p[1] == '>')) {
0 32 if(!(p[0] == '?' && p[1] == '>')) {
1211 2 20 if(!char_is_s(p)) throw_syntax_error(p);
1213 880036 18 while(!(p[0] == '?' && p[1] == '>')) {
0 18 while(!(p[0] == '?' && p[1] == '>')) {
1214 2 880034 if(!char_is_char(p)) throw_syntax_error(p);
1246 320520 160208 if(c != '<') {
1248 66 320370 if((chardata_flags & CHARDATA_NUL_END) && *p == 0)
46 20 if((chardata_flags & CHARDATA_NUL_END) && *p == 0)
1252 160416 320182 if(c == '/' && !(chardata_flags & CHARDATA_NUL_END)) break;
160416 0 if(c == '/' && !(chardata_flags & CHARDATA_NUL_END)) break;
1253 160076 160106 if(c == '!') {
1255 160036 40 if(c == '-') {
1257 40 0 } else if(c == '[' && p[3] == 'C' &&
40 0 } else if(c == '[' && p[3] == 'C' &&
1258 40 0 p[4] == 'D' && p[5] == 'A' &&
40 0 p[4] == 'D' && p[5] == 'A' &&
1259 40 0 p[6] == 'T' && p[7] == 'A' &&
40 0 p[6] == 'T' && p[7] == 'A' &&
1260 40 0 p[8] == '[') {
1264 52 160054 } else if(c == '?') {
1309 14 160978 if(*p != '<') throw_syntax_error(p);
1327 620 160520 if(c == '>' || c == '/') break;
302 318 if(c == '>' || c == '/') break;
1330 292 2 if(c == '>' || c == '/') break;
278 14 if(c == '>' || c == '/') break;
1334 6 272 if(hv_exists(attrs, (char*)namestart, -namelen))
1338 8 262 if(c != '"' && c != '\'') throw_syntax_error(p);
0 8 if(c != '"' && c != '\'') throw_syntax_error(p);
1345 0 192 if(!hv_store(attrs, (char*)namestart, -namelen,
1350 332 160522 if(c == '/') {
1351 12 320 if(*++p != '>') throw_syntax_error(p);
1360 160410 4 if(namelen != typename_len ||
1361 8 160402 memcmp(p, typename_start, namelen))
1365 0 160402 if(*p != '>') throw_syntax_error(p);
1389 918 24 if(!(p[0] == '<' && p[1] == '?' && p[2] == 'x' && p[3] == 'm' &&
82 836 if(!(p[0] == '<' && p[1] == '?' && p[2] == 'x' && p[3] == 'm' &&
74 8 if(!(p[0] == '<' && p[1] == '?' && p[2] == 'x' && p[3] == 'm' &&
74 0 if(!(p[0] == '<' && p[1] == '?' && p[2] == 'x' && p[3] == 'm' &&
1390 74 0 p[4] == 'l' && p[5] <= 0x20))
2 72 p[4] == 'l' && p[5] <= 0x20))
1393 0 72 if(*p == '?') goto enddecl;
1395 2 70 if(*p == '?') goto enddecl;
1396 68 2 if(p[0] == 'v' && p[1] == 'e' && p[2] == 'r' && p[3] == 's' &&
68 0 if(p[0] == 'v' && p[1] == 'e' && p[2] == 'r' && p[3] == 's' &&
68 0 if(p[0] == 'v' && p[1] == 'e' && p[2] == 'r' && p[3] == 's' &&
68 0 if(p[0] == 'v' && p[1] == 'e' && p[2] == 'r' && p[3] == 's' &&
1397 68 0 p[4] == 'i' && p[5] == 'o' && p[6] == 'n') {
68 0 p[4] == 'i' && p[5] == 'o' && p[6] == 'n') {
68 0 p[4] == 'i' && p[5] == 'o' && p[6] == 'n') {
1401 2 66 if(q != '"' && q != '\'') throw_syntax_error(start);
0 2 if(q != '"' && q != '\'') throw_syntax_error(start);
1402 68 0 if(!(p[1] == '1' && p[2] == '.' && p[3] == '0' && p[4] == q))
68 0 if(!(p[1] == '1' && p[2] == '.' && p[3] == '0' && p[4] == q))
66 2 if(!(p[1] == '1' && p[2] == '.' && p[3] == '0' && p[4] == q))
0 66 if(!(p[1] == '1' && p[2] == '.' && p[3] == '0' && p[4] == q))
1406 18 48 if(*p == '?') goto enddecl;
1408 4 44 if(*p == '?') goto enddecl;
1410 24 22 if(p[0] == 'e' && p[1] == 'n' && p[2] == 'c' && p[3] == 'o' &&
24 0 if(p[0] == 'e' && p[1] == 'n' && p[2] == 'c' && p[3] == 'o' &&
24 0 if(p[0] == 'e' && p[1] == 'n' && p[2] == 'c' && p[3] == 'o' &&
24 0 if(p[0] == 'e' && p[1] == 'n' && p[2] == 'c' && p[3] == 'o' &&
1411 24 0 p[4] == 'd' && p[5] == 'i' && p[6] == 'n' &&
24 0 p[4] == 'd' && p[5] == 'i' && p[6] == 'n' &&
24 0 p[4] == 'd' && p[5] == 'i' && p[6] == 'n' &&
1412 24 0 p[7] == 'g') {
1416 2 22 if(q != '"' && q != '\'') throw_syntax_error(start);
0 2 if(q != '"' && q != '\'') throw_syntax_error(start);
1418 0 24 if(!char_is_encstart(p)) throw_syntax_error(start);
1421 108 24 } while(char_is_enc(p));
1422 0 24 if(*p != q) throw_syntax_error(start);
1425 20 4 if(*p == '?') goto enddecl;
1427 4 0 if(*p == '?') goto enddecl;
1429 20 2 if(p[0] == 's' && p[1] == 't' && p[2] == 'a' && p[3] == 'n' &&
20 0 if(p[0] == 's' && p[1] == 't' && p[2] == 'a' && p[3] == 'n' &&
20 0 if(p[0] == 's' && p[1] == 't' && p[2] == 'a' && p[3] == 'n' &&
20 0 if(p[0] == 's' && p[1] == 't' && p[2] == 'a' && p[3] == 'n' &&
1430 20 0 p[4] == 'd' && p[5] == 'a' && p[6] == 'l' &&
20 0 p[4] == 'd' && p[5] == 'a' && p[6] == 'l' &&
20 0 p[4] == 'd' && p[5] == 'a' && p[6] == 'l' &&
1431 20 0 p[7] == 'o' && p[8] == 'n' && p[9] == 'e') {
20 0 p[7] == 'o' && p[8] == 'n' && p[9] == 'e') {
20 0 p[7] == 'o' && p[8] == 'n' && p[9] == 'e') {
1435 2 18 if(q != '"' && q != '\'') throw_syntax_error(start);
0 2 if(q != '"' && q != '\'') throw_syntax_error(start);
1436 16 4 if(!((p[1] == 'y' && p[2] == 'e' && p[3] == 's' && p[4] == q)
16 0 if(!((p[1] == 'y' && p[2] == 'e' && p[3] == 's' && p[4] == q)
16 0 if(!((p[1] == 'y' && p[2] == 'e' && p[3] == 's' && p[4] == q)
0 16 if(!((p[1] == 'y' && p[2] == 'e' && p[3] == 's' && p[4] == q)
1437 2 2 || (p[1] == 'n' && p[2] == 'o' && p[3] == q)))
2 0 || (p[1] == 'n' && p[2] == 'o' && p[3] == q)))
0 2 || (p[1] == 'n' && p[2] == 'o' && p[3] == q)))
1439 16 2 p += p[1] == 'y' ? 5 : 4;
1441 14 4 if(*p == '?') goto enddecl;
1443 4 0 if(*p == '?') goto enddecl;
1447 66 0 if(!(p[1] == '>' && !(found & ~allow) && !(require & ~found)))
66 0 if(!(p[1] == '>' && !(found & ~allow) && !(require & ~found)))
6 60 if(!(p[1] == '>' && !(found & ~allow) && !(require & ~found)))
1459 650 968 if(c == 0) break;
1460 910 58 if(c == '<') {
1462 12 898 if(c == '!') {
1464 8 890 } else if(c == '?') {
1489 4049 4 if(!sv_is_string(enc))
4049 0 if(!sv_is_string(enc))
44 4005 if(!sv_is_string(enc))
1492 4 4001 if(len == 0) throw_data_error("illegal encoding name");
1494 3401 600 if(!char_is_encstart(p)) throw_data_error("illegal encoding name");
1497 3041 7212344 if(p == end) return;
1498 360 7211984 if(!char_is_enc(p)) throw_data_error("illegal encoding name");
1506 5106 178345 if(!char_is_namestart(p)) return 0;
1509 174817 76106240 if(p == end) return 1;
1510 76102712 3528 } while(char_is_name(p));
1521 321960 12 if(!sv_is_string(data))
321960 0 if(!sv_is_string(data))
144 321816 if(!sv_is_string(data))
1529 320568 9074386 if(c == 0) break;
1530 9074384 2 if(c == 0xd || c == '<' || c == '&' ||
8994352 80032 if(c == 0xd || c == '<' || c == '&' ||
8994328 24 if(c == 0xd || c == '<' || c == '&' ||
70 8994258 if(c == 0xd || c == '<' || c == '&' ||
1531 32 38 (c == '>' && p-lstart >= 2 &&
1532 20 12 p[-1] == ']' && p[-2] == ']')) {
8 12 p[-1] == ']' && p[-2] == ']')) {
1534 46 80020 if(lstart != p)
1541 1248 8993072 if(!char_is_char(p))
1547 96 320472 if(p != dataend)
1549 240424 80048 if(lstart != p) sv_catpvn_nomg(out, (char*)lstart, p-lstart);
1561 18 162001 if(!SvROK(tref)) throw_data_error("content array isn't an array");
1563 161986 15 if(SvTYPE((SV*)twine) != SVt_PVAV || SvOBJECT((SV*)twine))
12 161974 if(SvTYPE((SV*)twine) != SVt_PVAV || SvOBJECT((SV*)twine))
1566 24 161950 if(clen & 1) throw_data_error("content array has even length");
1568 0 161950 if(!item_ptr) throw_data_error("character data isn't a string");
1570 160214 160258 for(i = 0; i != clen; ) {
1572 0 160214 if(!item_ptr)
1576 0 160022 if(!item_ptr)
1594 1809 18 if(SvROK(cref) && (tgt = SvRV(cref), SvTYPE(tgt) == SVt_PVAV) &&
1794 15 if(SvROK(cref) && (tgt = SvRV(cref), SvTYPE(tgt) == SVt_PVAV) &&
1595 860 934 !SvOBJECT(tgt)) {
1608 0 160344 if(!SvROK(tref)) return 0;
1610 160344 0 if(SvTYPE((SV*)twine) != SVt_PVAV || SvOBJECT((SV*)twine)) return 0;
0 160344 if(SvTYPE((SV*)twine) != SVt_PVAV || SvOBJECT((SV*)twine)) return 0;
1611 10 160334 if(av_len(twine) != 0) return 0;
1613 0 160334 if(!item_ptr) return 0;
1615 160334 0 if(!SvOK(item) || SvROK(item)) return 0;
0 160334 if(!SvOK(item) || SvROK(item)) return 0;
1616 160334 0 return SvPOK(item) && SvCUR(item) == 0;
110 160224 return SvPOK(item) && SvCUR(item) == 0;
1624 18 160374 if(!SvROK(cref)) return 0;
1626 160359 15 if(SvTYPE((SV*)twine) != SVt_PVAV || av_len(twine) != 0) return 0;
12 160347 if(SvTYPE((SV*)twine) != SVt_PVAV || av_len(twine) != 0) return 0;
1627 160344 3 if(!SvOBJECT((SV*)twine) || SvSTASH((SV*)twine) != stash_content)
0 160344 if(!SvOBJECT((SV*)twine) || SvSTASH((SV*)twine) != stash_content)
1630 0 160344 if(!item_ptr) return 0;
1639 1620 12 if(!sv_is_string(data))
1620 0 if(!sv_is_string(data))
144 1476 if(!sv_is_string(data))
1647 228 7544342 if(c == 0) break;
1648 7544340 2 if(c == 0x9 || c == 0xa || c == 0xd || c == '<' || c == '&' ||
7544338 2 if(c == 0x9 || c == 0xa || c == 0xd || c == '<' || c == '&' ||
7544336 2 if(c == 0x9 || c == 0xa || c == 0xd || c == '<' || c == '&' ||
7464334 80002 if(c == 0x9 || c == 0xa || c == 0xd || c == '<' || c == '&' ||
7464332 2 if(c == 0x9 || c == 0xa || c == 0xd || c == '<' || c == '&' ||
4 7464328 if(c == 0x9 || c == 0xa || c == 0xd || c == '<' || c == '&' ||
1651 16 79998 if(lstart != p)
1658 1248 7463080 if(!char_is_char(p))
1664 96 132 if(p != dataend)
1666 132 0 if(lstart != p) sv_catpvn_nomg(out, (char*)lstart, p-lstart);
1681 0 167604 if(!item_ptr) throw_data_error("element type name isn't a string");
1683 167595 9 if(!sv_is_string(typename))
167595 0 if(!sv_is_string(typename))
108 167487 if(!sv_is_string(typename))
1687 1953 165534 if(!is_name(typename_start, typename_len))
1691 0 165534 if(!item_ptr) throw_data_error("attribute hash isn't a hash");
1693 36 165498 if(!SvROK(attrs)) throw_data_error("attribute hash isn't a hash");
1695 165450 48 if(SvTYPE((SV*)ahash) != SVt_PVHV || SvOBJECT((SV*)ahash))
12 165438 if(SvTYPE((SV*)ahash) != SVt_PVHV || SvOBJECT((SV*)ahash))
1698 5126 160312 if(nattrs != 0) {
1699 3430 1696 if(nattrs == 1) {
1704 0 3430 key = (U8*)HePV(ent, klen);
1705 2166 1264 if(!HeKUTF8(ent)) upgrade_latin1_pvn(&key, &klen);
1706 2604 826 if(!is_name(key, klen))
1717 170948 1696 for(i = nattrs; i--; ) {
1724 1748 4 for(i = 0; i != nattrs; i++) {
1731 942 806 if(!is_name(key, klen))
1744 0 160392 if(!item_ptr) throw_data_error("content data isn't a content chunk");
1746 110 160282 if(content_is_empty(content)) {
1818 6821 7 if(!sv_is_string(type_name))
6821 0 if(!sv_is_string(type_name))
84 6737 if(!sv_is_string(type_name))
1824 1519 5218 if(!is_name(p, len)) throw_data_error("illegal element type name");
1825 12 5206 if(!SvROK(attrs)) throw_data_error("attribute hash isn't a hash");
1827 5190 16 if(SvTYPE((SV*)iahash) != SVt_PVHV || SvOBJECT((SV*)iahash))
4 5186 if(SvTYPE((SV*)iahash) != SVt_PVHV || SvOBJECT((SV*)iahash))
1833 2363 2823 if(nattrs != 0) {
1834 1780 583 if(nattrs == 1) {
1838 0 1780 key = (U8*)HePV(ent, klen);
1839 1330 450 if(!HeKUTF8(ent)) upgrade_latin1_pvn(&key, &klen);
1840 868 912 if(!is_name(key, klen))
1843 0 662 if(!hv_store(oahash, (char *)key, -klen,
1851 57297 583 for(i = nattrs; i--; ) {
1858 897 19 for(i = 0; i != nattrs; i++) {
1864 314 583 if(!is_name(key, klen))
1869 0 333 if(!hv_store(oahash, (char *)key, -klen,
1876 6 3498 if(!SvROK(content))
1879 1336 2162 if(!SvOBJECT(tgt) && SvTYPE(tgt) == SVt_PVAV) {
1333 3 if(!SvOBJECT(tgt) && SvTYPE(tgt) == SVt_PVAV) {
1881 2162 3 } else if(SvOBJECT(tgt) && SvSTASH(tgt) == stash_content) {
2157 5 } else if(SvOBJECT(tgt) && SvSTASH(tgt) == stash_content) {
1907 0 218 if(!item_ptr) throw_data_error("element type name isn't a string");
1920 0 534 if(!item_ptr) throw_data_error("attribute hash isn't a hash");
1934 1396 2 if(!sv_is_string(attrname_sv))
1396 0 if(!sv_is_string(attrname_sv))
24 1372 if(!sv_is_string(attrname_sv))
1938 434 938 if(!is_name(attrname, attrname_len))
1942 0 938 if(!item_ptr) throw_data_error("attribute hash isn't a hash");
1944 0 938 if(!SvROK(attrs)) throw_data_error("attribute hash isn't a hash");
1946 938 0 if(SvTYPE((SV*)ahash) != SVt_PVHV || SvOBJECT((SV*)ahash))
0 938 if(SvTYPE((SV*)ahash) != SVt_PVHV || SvOBJECT((SV*)ahash))
1948 354 584 if(hv_exists(ahash, (char *)attrname, -attrname_len)) {
1950 354 0 RETVAL = item_ptr ? SvREFCNT_inc(*item_ptr) : &PL_sv_undef;
1965 0 1586 if(!item_ptr) throw_data_error("content data isn't a content chunk");
1978 0 1618 if(!item_ptr) throw_data_error("content data isn't a content chunk");
1993 37 1 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
37 0 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
12 25 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
1998 0 21 if(p != end) throw_syntax_error(p);
2010 13 1 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
13 0 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
12 1 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
2015 0 1 if(p != end) throw_syntax_error(p);
2027 56 1 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
56 0 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
12 44 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
2032 8 16 if(p != end) throw_syntax_error(p);
2044 928 1 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
928 0 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
12 916 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
2054 2 644 if(p != end) throw_syntax_error(p);
2066 37 1 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
37 0 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
12 25 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
2073 0 23 if(p != end) throw_syntax_error(p);
2085 13 1 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
13 0 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
12 1 if(!sv_is_string(text_sv)) throw_data_error("text isn't a string");
2092 0 1 if(p != end) throw_syntax_error(p);
2125 2438 2944 if(SvOK(enc) || SvTYPE(enc) == SVt_PVGV) {
0 2438 if(SvOK(enc) || SvTYPE(enc) == SVt_PVGV) {
2145 605 1109 if(SvOK(enc) || SvTYPE(enc) == SVt_PVGV) {
0 605 if(SvOK(enc) || SvTYPE(enc) == SVt_PVGV) {