Branch Coverage

utf8.c
Criterion Covered Total %
branch 75 180 41.6


line true false branch
20 0 2676 if (sv_str == &PL_sv_undef) {
23 0 2676 if( SvGMAGICAL(sv_str) )
27 0 2676 if( !SvOK(sv_str) )
34 2676 0 SV_Buf_init(&result, len);
6 2670 SV_Buf_init(&result, len);
36 9191 2676 while (src < src_end) {
37 2511 6680 if (*src >= 0xC0 && *src < 0xC1) {
2 2509 if (*src >= 0xC0 && *src < 0xC1) {
39 2 0 if (src + 1 <= src_end) {
40 2 0 if (src[1] >= 0x80 && src[1] <= 0xBF) {
2 0 if (src[1] >= 0x80 && src[1] <= 0xBF) {
41 2 0 SV_Buf_append_ch(&result, '?');
2 0 SV_Buf_append_ch(&result, '?');
0 2 SV_Buf_append_ch(&result, '?');
47 2 9187 else if (*src == 0xE0) {
49 2 0 if (src + 2 <= src_end) {
50 2 0 if (src[1] >= 0x80 && src[1] <= 0x9F &&
2 0 if (src[1] >= 0x80 && src[1] <= 0x9F &&
51 2 0 src[2] >= 0x80 && src[2] <= 0xBF) {
2 0 src[2] >= 0x80 && src[2] <= 0xBF) {
53 0 2 SV_Buf_append_ch(&result, '?');
0 0 SV_Buf_append_ch(&result, '?');
0 0 SV_Buf_append_ch(&result, '?');
59 4 9183 else if (*src == 0xF0) {
61 4 0 if (src + 3 <= src_end) {
62 4 0 if (src[1] >= 0x80 && src[1] <= 0x8F &&
2 2 if (src[1] >= 0x80 && src[1] <= 0x8F &&
63 2 0 src[2] >= 0x80 && src[2] <= 0xBF &&
2 0 src[2] >= 0x80 && src[2] <= 0xBF &&
64 2 0 src[3] >= 0x80 && src[3] <= 0xBF) {
2 0 src[3] >= 0x80 && src[3] <= 0xBF) {
66 0 2 SV_Buf_append_ch(&result, '?');
0 0 SV_Buf_append_ch(&result, '?');
0 0 SV_Buf_append_ch(&result, '?');
72 0 9183 else if (*src == 0xF4) {
74 0 0 if (src + 3 <= src_end) {
75 0 0 if (src[1] >= 0x90 && src[1] <= 0xBF &&
0 0 if (src[1] >= 0x90 && src[1] <= 0xBF &&
76 0 0 src[2] >= 0x80 && src[2] <= 0xBF &&
0 0 src[2] >= 0x80 && src[2] <= 0xBF &&
77 0 0 src[3] >= 0x80 && src[3] <= 0xBF) {
0 0 src[3] >= 0x80 && src[3] <= 0xBF) {
79 0 0 SV_Buf_append_ch(&result, '?');
0 0 SV_Buf_append_ch(&result, '?');
0 0 SV_Buf_append_ch(&result, '?');
85 4 9179 else if (*src >= 0xF5 && *src <= 0xF7) {
0 4 else if (*src >= 0xF5 && *src <= 0xF7) {
87 0 0 if (src + 3 <= src_end) {
88 0 0 if (src[1] >= 0x80 && src[1] <= 0xBF &&
0 0 if (src[1] >= 0x80 && src[1] <= 0xBF &&
89 0 0 src[2] >= 0x80 && src[2] <= 0xBF &&
0 0 src[2] >= 0x80 && src[2] <= 0xBF &&
90 0 0 src[3] >= 0x80 && src[3] <= 0xBF) {
0 0 src[3] >= 0x80 && src[3] <= 0xBF) {
92 0 0 SV_Buf_append_ch(&result, '?');
0 0 SV_Buf_append_ch(&result, '?');
0 0 SV_Buf_append_ch(&result, '?');
98 4 9179 else if (*src >= 0xF8 && *src <= 0xFB) {
2 2 else if (*src >= 0xF8 && *src <= 0xFB) {
100 2 0 if (src + 4 <= src_end) {
101 2 0 if (src[1] >= 0x80 && src[1] <= 0xBF &&
2 0 if (src[1] >= 0x80 && src[1] <= 0xBF &&
102 2 0 src[2] >= 0x80 && src[2] <= 0xBF &&
2 0 src[2] >= 0x80 && src[2] <= 0xBF &&
103 2 0 src[3] >= 0x80 && src[3] <= 0xBF &&
2 0 src[3] >= 0x80 && src[3] <= 0xBF &&
104 2 0 src[4] >= 0x80 && src[4] <= 0xBF) {
2 0 src[4] >= 0x80 && src[4] <= 0xBF) {
106 0 2 SV_Buf_append_ch(&result, '?');
0 0 SV_Buf_append_ch(&result, '?');
0 0 SV_Buf_append_ch(&result, '?');
112 2 9179 else if (*src >= 0xFC && *src <= 0xFD) {
2 0 else if (*src >= 0xFC && *src <= 0xFD) {
114 2 0 if (src + 5 <= src_end) {
115 2 0 if (src[1] >= 0x80 && src[1] <= 0xBF &&
2 0 if (src[1] >= 0x80 && src[1] <= 0xBF &&
116 2 0 src[2] >= 0x80 && src[2] <= 0xBF &&
2 0 src[2] >= 0x80 && src[2] <= 0xBF &&
117 2 0 src[3] >= 0x80 && src[3] <= 0xBF &&
2 0 src[3] >= 0x80 && src[3] <= 0xBF &&
118 2 0 src[4] >= 0x80 && src[4] <= 0xBF &&
2 0 src[4] >= 0x80 && src[4] <= 0xBF &&
119 2 0 src[5] >= 0x80 && src[5] <= 0xBF) {
2 0 src[5] >= 0x80 && src[5] <= 0xBF) {
121 0 2 SV_Buf_append_ch(&result, '?');
0 0 SV_Buf_append_ch(&result, '?');
0 0 SV_Buf_append_ch(&result, '?');
128 2665 6516 SV_Buf_append_ch(&result, *src);
2665 0 SV_Buf_append_ch(&result, *src);
30 2635 SV_Buf_append_ch(&result, *src);