Branch Coverage

utf16.c
Criterion Covered Total %
branch 88 312 28.2


line true false branch
31 0 5 if( sv_str==&PL_sv_undef )
35 0 5 if( SvGMAGICAL(sv_str) )
39 0 5 if( !SvOK(sv_str) )
48 5 0 SV_Buf_init(&result,len*3/2+4);
0 5 SV_Buf_init(&result,len*3/2+4);
50 0 5 if( len&1 )
55 5 5 for(; src
58 0 5 if( utf16<0x80 )
60 0 0 SV_Buf_append_ch(&result,(UJ_UINT8)utf16);
0 0 SV_Buf_append_ch(&result,(UJ_UINT8)utf16);
0 0 SV_Buf_append_ch(&result,(UJ_UINT8)utf16);
61 0 5 }else if( utf16<0x800 )
65 0 0 SV_Buf_append_ch2(&result, buf.u16_val);
0 0 SV_Buf_append_ch2(&result, buf.u16_val);
0 0 SV_Buf_append_ch2(&result, buf.u16_val);
66 5 0 }else if( !(0xd800 <= utf16 && utf16 <= 0xdfff) )
0 5 }else if( !(0xd800 <= utf16 && utf16 <= 0xdfff) )
71 0 0 SV_Buf_append_ch3(&result, buf.u32_val);
0 0 SV_Buf_append_ch3(&result, buf.u32_val);
0 0 SV_Buf_append_ch3(&result, buf.u32_val);
74 5 0 if( src+2
77 5 0 if( utf16<=0xdbff && 0xdc00 <= utf16a && utf16a <= 0xdfff )
5 0 if( utf16<=0xdbff && 0xdc00 <= utf16a && utf16a <= 0xdfff )
5 0 if( utf16<=0xdbff && 0xdc00 <= utf16a && utf16a <= 0xdfff )
82 5 0 if( 0x010000<=ucs4 && ucs4<=0x10FFFF )
5 0 if( 0x010000<=ucs4 && ucs4<=0x10FFFF )
88 0 5 SV_Buf_append_ch4(&result, buf.u32_val);
0 0 SV_Buf_append_ch4(&result, buf.u32_val);
0 0 SV_Buf_append_ch4(&result, buf.u32_val);
93 0 0 SV_Buf_append_ch(&result,'?');
0 0 SV_Buf_append_ch(&result,'?');
0 0 SV_Buf_append_ch(&result,'?');
104 0 0 SV_Buf_append_ch(&result,'?');
0 0 SV_Buf_append_ch(&result,'?');
0 0 SV_Buf_append_ch(&result,'?');
109 0 0 SV_Buf_append_ch(&result,'?');
0 0 SV_Buf_append_ch(&result,'?');
0 0 SV_Buf_append_ch(&result,'?');
132 0 6 if( sv_str==&PL_sv_undef )
136 0 6 if( SvGMAGICAL(sv_str) )
140 0 6 if( !SvOK(sv_str) )
149 6 0 SV_Buf_init(&result,len*2);
0 6 SV_Buf_init(&result,len*2);
151 6 6 while( src
154 1 5 if( *src<=0x7f )
156 1 0 SV_Buf_append_ch2(&result,htons(*src));
1 0 SV_Buf_append_ch2(&result,htons(*src));
0 1 SV_Buf_append_ch2(&result,htons(*src));
160 5 0 if( 0xc0<=*src && *src<=0xdf )
1 4 if( 0xc0<=*src && *src<=0xdf )
165 1 0 if( src+1>=src_end ||
166 1 0 src[1]<0x80 || 0xbf
0 1 src[1]<0x80 || 0xbf
168 0 0 SV_Buf_append_ch2(&result,htons(*src));
0 0 SV_Buf_append_ch2(&result,htons(*src));
0 0 SV_Buf_append_ch2(&result,htons(*src));
176 0 1 if( ucs_min<=ucs && ucs<=ucs_max )
0 0 if( ucs_min<=ucs && ucs<=ucs_max )
180 0 1 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
185 4 0 }else if( 0xe0<=*src && *src<=0xef )
1 3 }else if( 0xe0<=*src && *src<=0xef )
190 1 0 if( src+2>=src_end ||
191 1 0 src[1]<0x80 || 0xbf
1 0 src[1]<0x80 || 0xbf
192 1 0 src[2]<0x80 || 0xbf
0 1 src[2]<0x80 || 0xbf
194 0 0 SV_Buf_append_ch2(&result,htons(*src));
0 0 SV_Buf_append_ch2(&result,htons(*src));
0 0 SV_Buf_append_ch2(&result,htons(*src));
202 0 1 if( ucs_min<=ucs && ucs<=ucs_max )
0 0 if( ucs_min<=ucs && ucs<=ucs_max )
206 0 1 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
210 0 0 if( ucs<0xD800 || ucs>0xDBFF )
0 0 if( ucs<0xD800 || ucs>0xDBFF )
214 0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
219 3 0 }else if( 0xf0<=*src && *src<=0xf7 )
1 2 }else if( 0xf0<=*src && *src<=0xf7 )
224 1 0 if( src+3>=src_end ||
225 1 0 src[1]<0x80 || 0xbf
1 0 src[1]<0x80 || 0xbf
226 1 0 src[2]<0x80 || 0xbf
1 0 src[2]<0x80 || 0xbf
227 1 0 src[3]<0x80 || 0xbf
0 1 src[3]<0x80 || 0xbf
229 0 0 SV_Buf_append_ch2(&result,htons(*src));
0 0 SV_Buf_append_ch2(&result,htons(*src));
0 0 SV_Buf_append_ch2(&result,htons(*src));
238 0 1 if( ucs_min<=ucs && ucs<=ucs_max )
0 0 if( ucs_min<=ucs && ucs<=ucs_max )
242 0 1 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
249 0 0 SV_Buf_append_ch2(&result,htons(((surrogate>>10)&0x03FF)|0xD800));
0 0 SV_Buf_append_ch2(&result,htons(((surrogate>>10)&0x03FF)|0xD800));
0 0 SV_Buf_append_ch2(&result,htons(((surrogate>>10)&0x03FF)|0xD800));
250 0 0 SV_Buf_append_ch2(&result,htons(((surrogate )&0x03FF)|0xDC00));
0 0 SV_Buf_append_ch2(&result,htons(((surrogate )&0x03FF)|0xDC00));
0 0 SV_Buf_append_ch2(&result,htons(((surrogate )&0x03FF)|0xDC00));
261 2 0 }else if( 0xf8<=*src && *src<=0xfb )
1 1 }else if( 0xf8<=*src && *src<=0xfb )
264 0 1 if( src+utf8_len<=src_end )
268 0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
273 1 0 if( 0x80<=src[1] && src[1]<=0xbf && 0x80<=src[2] && src[2]<=0xbf
1 0 if( 0x80<=src[1] && src[1]<=0xbf && 0x80<=src[2] && src[2]<=0xbf
1 0 if( 0x80<=src[1] && src[1]<=0xbf && 0x80<=src[2] && src[2]<=0xbf
1 0 if( 0x80<=src[1] && src[1]<=0xbf && 0x80<=src[2] && src[2]<=0xbf
274 1 0 && 0x80<=src[3] && src[3]<=0xbf && 0x80<=src[4] && src[4]<=0xbf )
1 0 && 0x80<=src[3] && src[3]<=0xbf && 0x80<=src[4] && src[4]<=0xbf )
1 0 && 0x80<=src[3] && src[3]<=0xbf && 0x80<=src[4] && src[4]<=0xbf )
1 0 && 0x80<=src[3] && src[3]<=0xbf && 0x80<=src[4] && src[4]<=0xbf )
278 0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
285 0 1 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
287 1 0 }else if( 0xfc<=*src && *src<=0xfd )
1 0 }else if( 0xfc<=*src && *src<=0xfd )
290 0 1 if( src+utf8_len<=src_end )
294 0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
299 1 0 if( 0x80<=src[1] && src[1]<=0xbf && 0x80<=src[2] && src[2]<=0xbf
1 0 if( 0x80<=src[1] && src[1]<=0xbf && 0x80<=src[2] && src[2]<=0xbf
1 0 if( 0x80<=src[1] && src[1]<=0xbf && 0x80<=src[2] && src[2]<=0xbf
1 0 if( 0x80<=src[1] && src[1]<=0xbf && 0x80<=src[2] && src[2]<=0xbf
300 1 0 && 0x80<=src[3] && src[3]<=0xbf && 0x80<=src[4] && src[4]<=0xbf
1 0 && 0x80<=src[3] && src[3]<=0xbf && 0x80<=src[4] && src[4]<=0xbf
1 0 && 0x80<=src[3] && src[3]<=0xbf && 0x80<=src[4] && src[4]<=0xbf
1 0 && 0x80<=src[3] && src[3]<=0xbf && 0x80<=src[4] && src[4]<=0xbf
301 1 0 && 0x80<=src[5] && src[5]<=0xbf )
1 0 && 0x80<=src[5] && src[5]<=0xbf )
305 0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
312 0 1 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
316 0 0 SV_Buf_append_ch2(&result,htons(*src));
0 0 SV_Buf_append_ch2(&result,htons(*src));
0 0 SV_Buf_append_ch2(&result,htons(*src));
321 0 0 if( ucs & ~0xFFFF )
323 0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
0 0 SV_Buf_append_ch2(&result,htons('?'));
326 0 0 SV_Buf_append_ch2(&result,htons(ucs));
0 0 SV_Buf_append_ch2(&result,htons(ucs));
0 0 SV_Buf_append_ch2(&result,htons(ucs));