Branch Coverage

Iterator.xs
Criterion Covered Total %
branch 75 106 70.7


line true false branch
114 0 573 GET_FIELD (entry, "entry");
116 0 573 GET_FIELD (sharelen_sv, "sharelen");
117 573 0 sharelen = SvIV (sharelen_sv);
121 32 541 if (regexp_svptr) {
128 0 32 if (SvOK(regexp_sv)) {
0 0 if (SvOK(regexp_sv)) {
0 0 if (SvOK(regexp_sv)) {
129 0 32 if (! regexp) croak ("'regexp' not a regexp");
137 24 549 if (globs_svptr) {
144 0 24 if (SvOK (globs_sv)) {
0 0 if (SvOK (globs_sv)) {
0 0 if (SvOK (globs_sv)) {
145 0 24 if (! SvROK (globs_sv))
149 0 24 if (SvTYPE(globs_av) != SVt_PVAV)
161 286 287 if (mref_svptr) {
169 283 3 mp = SvPV (mmap, mlen);
171 0 286 GET_FIELD (pos_sv, "pos");
172 0 286 pos = SvUV(pos_sv);
178 36 306 if (pos >= mlen) {
185 68 238 if (adj == -128) {
187 2 66 if (pos >= mlen-1) goto UNEXPECTED_EOF;
195 300 4 if (sharelen < 0 || sharelen > SvCUR(entry)) {
4 296 if (sharelen < 0 || sharelen > SvCUR(entry)) {
202 2 294 if (pos >= mlen) goto UNEXPECTED_EOF;
205 2 292 if (! gets_end) {
215 292 0 entry_p = SvPV(entry, entry_len);
217 52 240 MATCH(MREF_LOOP_END);
15 37 MATCH(MREF_LOOP_END);
211 29 MATCH(MREF_LOOP_END);
47 0 MATCH(MREF_LOOP_END);
10 37 MATCH(MREF_LOOP_END);
47 56 MATCH(MREF_LOOP_END);
232 0 287 GET_FIELD (fh, "fh");
244 16 286 if (got == 0) {
249 0 286 if (got != 1) {
253 0 2 if (got < 0) {
262 72 214 if (adj == -128) {
265 2 70 if (got != 2) goto READ_ERROR;
278 280 4 if (sharelen < 0 || sharelen > SvCUR(entry)) {
4 276 if (sharelen < 0 || sharelen > SvCUR(entry)) {
293 2 274 if (gets_ret == NULL) goto UNEXPECTED_EOF;
302 274 0 entry_p = SvPV(entry, entry_len);
303 0 274 if (entry_len < 1 || entry_p[entry_len-1] != '\0') {
2 272 if (entry_len < 1 || entry_p[entry_len-1] != '\0') {
310 0 272 MATCH(IO_LOOP_END);
0 0 MATCH(IO_LOOP_END);
255 17 MATCH(IO_LOOP_END);
17 0 MATCH(IO_LOOP_END);
2 15 MATCH(IO_LOOP_END);
17 15 MATCH(IO_LOOP_END);
315 0 273 SvTAINTED_on(entry);
317 52 493 if (at_eof) {
330 493 0 SvREFCNT_inc_simple_void (entry);