Branch Coverage

Iterator.xs
Criterion Covered Total %
branch 75 106 70.7


line true false branch
107 0 571 GET_FIELD (entry, "entry");
109 0 571 GET_FIELD (sharelen_sv, "sharelen");
110 571 0 sharelen = SvIV (sharelen_sv);
114 30 541 if (regexp_svptr) {
121 0 30 if (SvOK(regexp_sv)) {
0 0 if (SvOK(regexp_sv)) {
0 0 if (SvOK(regexp_sv)) {
122 0 30 if (! regexp) croak ("'regexp' not a regexp");
130 24 547 if (globs_svptr) {
137 0 24 if (SvOK (globs_sv)) {
0 0 if (SvOK (globs_sv)) {
0 0 if (SvOK (globs_sv)) {
138 0 24 if (! SvROK (globs_sv))
142 0 24 if (SvTYPE(globs_av) != SVt_PVAV)
154 284 287 if (mref_svptr) {
162 281 3 mp = SvPV (mmap, mlen);
164 0 284 GET_FIELD (pos_sv, "pos");
165 0 284 pos = SvUV(pos_sv);
171 35 304 if (pos >= mlen) {
178 68 236 if (adj == -128) {
180 2 66 if (pos >= mlen-1) goto UNEXPECTED_EOF;
188 298 4 if (sharelen < 0 || sharelen > SvCUR(entry)) {
4 294 if (sharelen < 0 || sharelen > SvCUR(entry)) {
195 2 292 if (pos >= mlen) goto UNEXPECTED_EOF;
198 2 290 if (! gets_end) {
208 290 0 entry_p = SvPV(entry, entry_len);
210 50 240 MATCH(MREF_LOOP_END);
14 36 MATCH(MREF_LOOP_END);
211 29 MATCH(MREF_LOOP_END);
47 0 MATCH(MREF_LOOP_END);
10 37 MATCH(MREF_LOOP_END);
47 55 MATCH(MREF_LOOP_END);
225 0 287 GET_FIELD (fh, "fh");
237 16 286 if (got == 0) {
242 0 286 if (got != 1) {
246 0 2 if (got < 0) {
255 72 214 if (adj == -128) {
258 2 70 if (got != 2) goto READ_ERROR;
271 280 4 if (sharelen < 0 || sharelen > SvCUR(entry)) {
4 276 if (sharelen < 0 || sharelen > SvCUR(entry)) {
286 2 274 if (gets_ret == NULL) goto UNEXPECTED_EOF;
295 274 0 entry_p = SvPV(entry, entry_len);
296 0 274 if (entry_len < 1 || entry_p[entry_len-1] != '\0') {
2 272 if (entry_len < 1 || entry_p[entry_len-1] != '\0') {
303 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);
308 0 273 SvTAINTED_on(entry);
310 51 492 if (at_eof) {
323 492 0 SvREFCNT_inc_simple_void (entry);