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)
66 272 3088 if (eof)
71 3887 3360 while (len-- > 0) {
75 527 3360 if (len)
100 9748 7455 while (cur < end4) {
101 12760 1 while (cur < end4 && *cur < 0x80)
3013 9747 while (cur < end4 && *cur < 0x80)
113 0 313 if ((cur[1] & 0xC0) != 0x80)
122 12585 0 if ((v & 0x00F0C0C0) != 0x00E08080 ||
12583 2 if ((v & 0x00F0C0C0) != 0x00E08080 ||
127 10535 2048 if (!(flags & ALLOW_SURROGATES) && (v & 0x00EFA080) == 0x00EDA080)
2048 8487 if (!(flags & ALLOW_SURROGATES) && (v & 0x00EFA080) == 0x00EDA080)
130 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))
140 325 0 if ((v & 0xF8C0C0C0) != 0xF0808080 ||
321 4 if ((v & 0xF8C0C0C0) != 0xF0808080 ||
142 320 1 v < 0xF0908080 ||
147 288 32 if (!(flags & ALLOW_NONCHARACTERS) && (v & 0x000FBFBE) == 0x000FBFBE)
32 256 if (!(flags & ALLOW_NONCHARACTERS) && (v & 0x000FBFBE) == 0x000FBFBE)
154 5065 2390 if (cur < end) {
155 4519 546 if (cur + xs_utf8_sequence_len[*cur] <= end)
158 274 272 if (eof || cur + skip < end)
274 0 if (eof || cur + skip < end)
164 3088 272 if (!skip)
170 34 32 if (v < 0xF0808080)
199 2180 0 for (i = 0; i < sizeof map / sizeof *map; ++i) {
200 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)
208 5817 0 if (!param || !SvOK(param))
3703 2114 if (!param || !SvOK(param))
3703 0 if (!param || !SvOK(param))
3703 0 if (!param || !SvOK(param))
211 2114 0 begin = SvPV(param, len);
213 0 2114 if(delim) {
220 0 0 } while (delim);
221 0 0 if (begin < end)
238 0 0 while ((f = *table)) {
241 0 0 for (i = 1; i < 64; i++) {
242 0 0 if (f->next && line_buffered(PerlIOBase(&(f->next))->flags))
0 0 if (f->next && line_buffered(PerlIOBase(&(f->next))->flags))
251 5817 0 if (PerlIOBuf_pushed(aTHX_ f, mode, arg, tab) == 0) {
268 0 8478 if (PerlIO_flush(f) != 0)
270 0 8478 if (PerlIOBase(f)->flags & PERLIO_F_TTY)
273 0 8478 if (!b->buf)
278 274 8204 if (u->leftover_length) {
289 8478 0 if (!PerlIOValid(n)) {
0 8478 if (!PerlIOValid(n)) {
294 8478 0 if (PerlIO_fast_gets(n)) {
302 8478 0 if (avail <= 0) {
304 5818 2660 if (avail == 0)
307 2660 0 if (!PerlIO_error(n) && PerlIO_eof(n))
2660 0 if (!PerlIO_error(n) && PerlIO_eof(n))
311 5818 2660 if (avail > 0) {
314 1 5817 if (avail > fit)
323 0 0 if (avail > 0)
326 2660 5818 if (avail <= 0) {
327 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))) {
328 2388 0 PerlIOBase(f)->flags |= (avail == 0) ? PERLIO_F_EOF : PERLIO_F_ERROR;
334 274 2390 if (b->end < end) {