| line |
true |
false |
branch |
|
33
|
5 |
21 |
const char *p = SvOK(path) ? SvPV_nolen(path) : NULL; |
|
35
|
5 |
21 |
if (!h) croak("Data::RadixTree::Shared->new: %s", errbuf); |
|
49
|
2 |
1 |
const char *nm = SvOK(name) ? SvPV_nolen(name) : NULL; /* undef -> default label */ |
|
51
|
1 |
2 |
if (!h) croak("Data::RadixTree::Shared->new_memfd: %s", errbuf); |
|
64
|
1 |
1 |
if (!h) croak("Data::RadixTree::Shared->new_from_fd: %s", errbuf); |
|
73
|
26 |
0 |
if (sv_isobject(self) && sv_derived_from(self, "Data::RadixTree::Shared")) { |
|
|
26 |
0 |
if (sv_isobject(self) && sv_derived_from(self, "Data::RadixTree::Shared")) { |
|
75
|
24 |
2 |
if (h) { sv_setiv(SvRV(self), 0); rdx_destroy(h); } /* null first: activates EXTRACT's use-after-destroy croak + makes a double DESTROY a no-op */ |
|
84
|
1093 |
0 |
EXTRACT(self); |
|
|
0 |
1093 |
EXTRACT(self); |
|
|
0 |
1093 |
EXTRACT(self); |
|
93
|
3 |
1088 |
if (!rdx_insert_has_room(h, (uint32_t)klen)) { |
|
101
|
1054 |
34 |
RETVAL = (IV)isnew; |
|
110
|
1604 |
0 |
EXTRACT(self); |
|
|
0 |
1604 |
EXTRACT(self); |
|
|
1 |
1603 |
EXTRACT(self); |
|
120
|
1589 |
13 |
RETVAL = found ? newSVuv((UV)val) : &PL_sv_undef; |
|
129
|
1592 |
0 |
EXTRACT(self); |
|
|
0 |
1592 |
EXTRACT(self); |
|
|
0 |
1592 |
EXTRACT(self); |
|
145
|
44 |
0 |
EXTRACT(self); |
|
|
0 |
44 |
EXTRACT(self); |
|
|
0 |
44 |
EXTRACT(self); |
|
155
|
27 |
16 |
RETVAL = found ? newSVuv((UV)val) : &PL_sv_undef; |
|
164
|
525 |
0 |
EXTRACT(self); |
|
|
0 |
525 |
EXTRACT(self); |
|
|
0 |
525 |
EXTRACT(self); |
|
174
|
518 |
6 |
RETVAL = (IV)removed; |
|
182
|
1 |
0 |
EXTRACT(self); |
|
|
0 |
1 |
EXTRACT(self); |
|
|
0 |
1 |
EXTRACT(self); |
|
193
|
26 |
0 |
EXTRACT(self); |
|
|
0 |
26 |
EXTRACT(self); |
|
|
0 |
26 |
EXTRACT(self); |
|
205
|
2 |
0 |
EXTRACT(self); |
|
|
0 |
2 |
EXTRACT(self); |
|
|
0 |
2 |
EXTRACT(self); |
|
238
|
3 |
0 |
EXTRACT(self); |
|
|
0 |
3 |
EXTRACT(self); |
|
|
0 |
3 |
EXTRACT(self); |
|
240
|
1 |
2 |
RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef; |
|
248
|
3 |
0 |
EXTRACT(self); |
|
|
0 |
3 |
EXTRACT(self); |
|
|
0 |
3 |
EXTRACT(self); |
|
250
|
0 |
3 |
RETVAL = h->backing_fd; |
|
258
|
2 |
0 |
EXTRACT(self); |
|
|
0 |
2 |
EXTRACT(self); |
|
|
0 |
2 |
EXTRACT(self); |
|
260
|
0 |
2 |
if (rdx_msync(h) != 0) croak("sync: %s", strerror(errno)); |
|
266
|
1 |
1 |
if (sv_isobject(self) && sv_derived_from(self, "Data::RadixTree::Shared")) { |
|
|
1 |
0 |
if (sv_isobject(self) && sv_derived_from(self, "Data::RadixTree::Shared")) { |
|
268
|
1 |
0 |
if (h && h->path) unlink(h->path); |
|
|
1 |
0 |
if (h && h->path) unlink(h->path); |
|
269
|
1 |
0 |
} else if (items >= 2 && SvOK(ST(1))) { |
|
|
1 |
0 |
} else if (items >= 2 && SvOK(ST(1))) { |