Branch Coverage

lib/Socket/Packet.xs
Criterion Covered Total %
branch 29 96 30.2


line true false branch
167 0 4 if (DO_UTF8(addr) && !sv_utf8_downgrade(addr, 1))
0 0 if (DO_UTF8(addr) && !sv_utf8_downgrade(addr, 1))
0 0 if (DO_UTF8(addr) && !sv_utf8_downgrade(addr, 1))
170 4 0 addrbytes = SvPVbyte(addr, addrlen);
172 0 4 if(addrlen > sll_maxaddr)
176 0 4 sll.sll_protocol = htons(protocol);
185 0 4 EXTEND(SP, 1);
199 10 0 sa_bytes = SvPVbyte(sa, sa_len);
200 0 10 if(sa_len < sll_min)
202 0 10 if(sa_len > sll_max)
207 0 10 if(sa_len < sll_min + sll.sll_halen)
210 0 10 if(sll.sll_family != AF_PACKET)
213 0 10 EXTEND(SP, 5);
214 0 10 mPUSHi(ntohs(sll.sll_protocol));
232 0 0 if (DO_UTF8(addr) && !sv_utf8_downgrade(addr, 1))
0 0 if (DO_UTF8(addr) && !sv_utf8_downgrade(addr, 1))
0 0 if (DO_UTF8(addr) && !sv_utf8_downgrade(addr, 1))
235 0 0 addr_bytes = SvPVbyte(addr, addr_len);
237 0 0 if(addr_len > sizeof(mreq.mr_address))
247 0 0 EXTEND(SP, 1);
260 0 0 data_bytes = SvPVbyte(data, data_len);
261 0 0 if(data_len != sizeof(mreq))
266 0 0 if(mreq.mr_alen > sizeof(mreq.mr_address))
269 0 0 EXTEND(SP, 3);
284 1 0 stats_bytes = SvPVbyte(stats, stats_len);
285 0 1 if(stats_len != sizeof(statsbuf))
290 0 1 EXTEND(SP, 5);
306 3 0 if(ioctl(fd, SIOCGSTAMP, &tv) == -1) {
307 2 1 if(GIMME_V == G_ARRAY)
3 0 if(GIMME_V == G_ARRAY)
313 0 0 if(GIMME_V == G_ARRAY) {
0 0 if(GIMME_V == G_ARRAY) {
314 0 0 EXTEND(SP, 2);
335 0 0 if(ioctl(fd, SIOCGSTAMPNS, &ts) == -1) {
336 0 0 if(GIMME_V == G_ARRAY)
0 0 if(GIMME_V == G_ARRAY)
342 0 0 if(GIMME_V == G_ARRAY) {
0 0 if(GIMME_V == G_ARRAY) {
343 0 0 EXTEND(SP, 2);
368 0 3 if(ioctl(fd, SIOCGIFINDEX, &req) == -1)
389 2 5 if(ioctl(fd, SIOCGIFNAME, &req) == -1)
413 1 0 if(!SvOK(buffer))
1 0 if(!SvOK(buffer))
1 0 if(!SvOK(buffer))
416 1 0 bufferp = SvGROW(buffer, (STRLEN)(maxlen+1));
0 1 bufferp = SvGROW(buffer, (STRLEN)(maxlen+1));
422 0 1 if(len < 0)
425 1 0 if(len > maxlen)