Branch Coverage

xs/Buffer.xs
Criterion Covered Total %
branch 54 114 47.3


line true false branch
11 1 2 if(len == 0)
13 3 0 SvUPGRADE(sv, SVt_PV);
19 1 2 if(utf8)
33 1 8 if (SvROK (sv))
36 5 3 if ( items > 2 ) {
44 5 0 if ( SvROK(options) )
47 5 0 if ( !hash || SvTYPE(hash) != SVt_PVHV )
0 5 if ( !hash || SvTYPE(hash) != SVt_PVHV )
51 8 4 while( (value = hv_iternextsv(hash, &key, &len)) != NULL ) {
53 3 5 if ( 0 == strncmp( key, "clear", len ) ) {
54 3 0 clear = SvTRUE( value );
0 3 clear = SvTRUE( value );
0 0 clear = SvTRUE( value );
0 3 clear = SvTRUE( value );
0 0 clear = SvTRUE( value );
0 0 clear = SvTRUE( value );
0 3 clear = SvTRUE( value );
0 0 clear = SvTRUE( value );
0 0 clear = SvTRUE( value );
0 0 clear = SvTRUE( value );
0 0 clear = SvTRUE( value );
0 0 clear = SvTRUE( value );
3 0 clear = SvTRUE( value );
3 0 clear = SvTRUE( value );
1 2 clear = SvTRUE( value );
0 1 clear = SvTRUE( value );
0 0 clear = SvTRUE( value );
2 1 clear = SvTRUE( value );
0 0 clear = SvTRUE( value );
56 4 1 else if ( 0 == strncmp( key, "set_length", len ) ) {
57 4 0 set_length = SvTRUE( value );
0 4 set_length = SvTRUE( value );
0 0 set_length = SvTRUE( value );
0 4 set_length = SvTRUE( value );
0 0 set_length = SvTRUE( value );
0 0 set_length = SvTRUE( value );
0 4 set_length = SvTRUE( value );
0 0 set_length = SvTRUE( value );
0 0 set_length = SvTRUE( value );
0 0 set_length = SvTRUE( value );
0 0 set_length = SvTRUE( value );
0 0 set_length = SvTRUE( value );
4 0 set_length = SvTRUE( value );
4 0 set_length = SvTRUE( value );
3 1 set_length = SvTRUE( value );
0 3 set_length = SvTRUE( value );
0 0 set_length = SvTRUE( value );
1 3 set_length = SvTRUE( value );
0 0 set_length = SvTRUE( value );
67 5 2 if (!SvPOK (sv) || clear ) {
4 1 if (!SvPOK (sv) || clear ) {
75 5 1 SvGROW (sv, size);
5 0 SvGROW (sv, size);
76 3 3 if ( set_length )
78 0 6 EXTEND (SP, 1);
91 1 5 if (SvROK (sv))
95 2 3 if (!SvPOK (sv))