Branch Coverage

xs/record_opaque.c
Criterion Covered Total %
branch 60 96 62.5


line true false branch
18 0 16 if(items == 0)
24 16 0 if(SvROK(self))
27 0 16 if(!SvOK(self))
0 0 if(!SvOK(self))
0 0 if(!SvOK(self))
30 16 0 ptr1 = (char*) SvPV_nolen(self);
33 6 10 if(items > 1)
35 2 4 if(SvREADONLY(self))
42 1 3 *ptr2 = SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL;
1 0 *ptr2 = SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL;
0 1 *ptr2 = SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL;
3 0 *ptr2 = SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL;
46 14 0 if(GIMME_V == G_VOID)
4 10 if(GIMME_V == G_VOID)
49 9 1 if(*ptr2 != NULL)
68 0 27 if(items == 0)
74 27 0 if(SvROK(self))
77 0 27 if(!SvOK(self))
0 0 if(!SvOK(self))
0 0 if(!SvOK(self))
80 27 0 ptr1 = (char*) SvPV_nolen(self);
83 12 15 if(items > 1 && SvREADONLY(self))
4 8 if(items > 1 && SvREADONLY(self))
88 2 21 if(items > 2)
90 2 0 i = SvIV(ST(1));
91 2 0 if(i >= 0 && i < member->count)
2 0 if(i >= 0 && i < member->count)
94 1 1 ptr2[i] = SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL;
1 0 ptr2[i] = SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL;
0 1 ptr2[i] = SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL;
1 0 ptr2[i] = SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL;
101 6 15 else if(items > 1)
104 3 3 if(SvROK(arg) && SvTYPE(SvRV(arg)) == SVt_PVAV)
3 0 if(SvROK(arg) && SvTYPE(SvRV(arg)) == SVt_PVAV)
107 7 3 for(i=0; i < member->count; i++)
110 7 0 if(item != NULL && SvOK(*item))
1 6 if(item != NULL && SvOK(*item))
1 0 if(item != NULL && SvOK(*item))
0 1 if(item != NULL && SvOK(*item))
112 6 0 ptr2[i] = INT2PTR(void*, SvIV(*item));
122 3 0 i = SvIV(ST(1));
123 0 3 if(i < 0 && i >= member->count)
0 0 if(i < 0 && i >= member->count)
128 1 2 else if(ptr2[i] == NULL)
140 20 0 if(GIMME_V == G_VOID)
5 15 if(GIMME_V == G_VOID)
145 33 15 for(i=0; i < member->count; i++)
147 31 2 if(ptr2[i] != NULL)