Branch Coverage

utf8_strict.xs
Criterion Covered Total %
branch 101 144 70.1


line true false branch
35 2601 1033 if (n < 1 || len < 2)
2 2599 if (n < 1 || len < 2)
39 2 0 case 0xE0: if ((cur[1] & 0xE0) != 0xA0) return 1; break;
40 2048 2 case 0xED: if ((cur[1] & 0xE0) != 0x80) return 1; break;
41 1 32 case 0xF4: if ((cur[1] & 0xF0) != 0x80) return 1; break;
42 4 96 case 0xF0: if ((cur[1] & 0xF0) == 0x80) return 1; /* FALLTROUGH */
43 0 510 default: if ((cur[1] & 0xC0) != 0x80) return 1; break;
46 544 0 if (n > len)
48 512 544 for (i = 2; i < n; i++)
49 0 512 if ((cur[i] & 0xC0) != 0x80)
60 272 3088 if (eof)
65 3887 3360 while (len-- > 0) {
69 527 3360 if (len)
88 9748 7455 while (cur < end4) {
89 12760 1 while (cur < end4 && *cur < 0x80)
3013 9747 while (cur < end4 && *cur < 0x80)
101 0 313 if ((cur[1] & 0xC0) != 0x80)
110 12585 0 if ((v & 0x00F0C0C0) != 0x00E08080 ||
12583 2 if ((v & 0x00F0C0C0) != 0x00E08080 ||
115 10535 2048 if (!(flags & ALLOW_SURROGATES) && (v & 0x00EFA080) == 0x00EDA080)
2048 8487 if (!(flags & ALLOW_SURROGATES) && (v & 0x00EFA080) == 0x00EDA080)
118 10501 34 if (!(flags & ALLOW_NONCHARACTERS) && v >= 0x00EFB790 && (v <= 0x00EFB7AF || v >= 0x00EFBFBE))
34 10467 if (!(flags & ALLOW_NONCHARACTERS) && v >= 0x00EFB790 && (v <= 0x00EFB7AF || v >= 0x00EFBFBE))
2 32 if (!(flags & ALLOW_NONCHARACTERS) && v >= 0x00EFB790 && (v <= 0x00EFB7AF || v >= 0x00EFBFBE))
0 2 if (!(flags & ALLOW_NONCHARACTERS) && v >= 0x00EFB790 && (v <= 0x00EFB7AF || v >= 0x00EFBFBE))
128 325 0 if ((v & 0xF8C0C0C0) != 0xF0808080 ||
321 4 if ((v & 0xF8C0C0C0) != 0xF0808080 ||
130 320 1 v < 0xF0908080 ||
135 288 32 if (!(flags & ALLOW_NONCHARACTERS) && (v & 0x000FBFBE) == 0x000FBFBE)
32 256 if (!(flags & ALLOW_NONCHARACTERS) && (v & 0x000FBFBE) == 0x000FBFBE)
142 5065 2390 if (cur < end) {
143 4519 546 if (cur + xs_utf8_sequence_len[*cur] <= end)
146 274 272 if (eof || cur + skip < end)
274 0 if (eof || cur + skip < end)
152 3088 272 if (!skip)
158 34 32 if (v < 0xF0808080)
187 2180 0 for (i = 0; i < sizeof map / sizeof *map; ++i) {
188 2114 66 if (map[i].length == len && memcmp(ptr, map[i].name, len) == 0)
2114 0 if (map[i].length == len && memcmp(ptr, map[i].name, len) == 0)
196 5817 0 if (!param || !SvOK(param))
3703 2114 if (!param || !SvOK(param))
3703 0 if (!param || !SvOK(param))
3703 0 if (!param || !SvOK(param))
199 2114 0 begin = SvPV(param, len);
201 0 2114 if(delim) {
208 0 0 } while (delim);
209 0 0 if (begin < end)
226 0 0 while ((f = *table)) {
229 0 0 for (i = 1; i < 64; i++) {
230 0 0 if (f->next && line_buffered(PerlIOBase(&(f->next))->flags))
0 0 if (f->next && line_buffered(PerlIOBase(&(f->next))->flags))
239 5817 0 if (PerlIOBuf_pushed(aTHX_ f, mode, arg, tab) == 0) {
256 0 8478 if (PerlIO_flush(f) != 0)
258 0 8478 if (PerlIOBase(f)->flags & PERLIO_F_TTY)
261 0 8478 if (!b->buf)
266 274 8204 if (u->leftover_length) {
277 8478 0 if (!PerlIOValid(n)) {
0 8478 if (!PerlIOValid(n)) {
282 8478 0 if (PerlIO_fast_gets(n)) {
290 8478 0 if (avail <= 0) {
292 5818 2660 if (avail == 0)
295 2660 0 if (!PerlIO_error(n) && PerlIO_eof(n))
2660 0 if (!PerlIO_error(n) && PerlIO_eof(n))
299 5818 2660 if (avail > 0) {
302 1 5817 if (avail > fit)
311 0 0 if (avail > 0)
314 2660 5818 if (avail <= 0) {
315 2660 0 if (avail < 0 || (read_bytes == 0 && PerlIO_eof(n))) {
2388 272 if (avail < 0 || (read_bytes == 0 && PerlIO_eof(n))) {
2388 0 if (avail < 0 || (read_bytes == 0 && PerlIO_eof(n))) {
316 2388 0 PerlIOBase(f)->flags |= (avail == 0) ? PERLIO_F_EOF : PERLIO_F_ERROR;
322 274 2390 if (b->end < end) {