line |
true |
false |
branch |
26
|
0 |
480 |
return AvFILL(av) + 1; |
46
|
0 |
150 |
if(!target) |
63
|
2 |
103 |
if(!SvPOK(p)) |
65
|
0 |
103 |
if(SvUTF8(p)) |
69
|
103 |
0 |
const char *in = SvPVbyte(p, len); |
77
|
0 |
103 |
if(*end != '\0') { |
85
|
97 |
6 |
if(len >= 3) { // && *(end - 1) == '\x0A' && *(end - 2) == '\x0D') { |
86
|
477 |
31 |
while(*ptr && ptr < end) { |
|
477 |
0 |
while(*ptr && ptr < end) { |
93
|
270 |
276 |
while(*ptr >= '0' && *ptr <= '9') { |
|
270 |
0 |
while(*ptr >= '0' && *ptr <= '9') { |
97
|
20 |
256 |
if(ptr + 2 > end) { |
100
|
256 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
|
0 |
256 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
106
|
253 |
3 |
if(n > 0) { |
121
|
1 |
1 |
while(*ptr >= '0' && *ptr <= '9') { |
|
1 |
0 |
while(*ptr >= '0' && *ptr <= '9') { |
125
|
0 |
1 |
if(ptr + 2 > end) { |
128
|
1 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
|
0 |
1 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
134
|
1 |
0 |
if(n > 0) { |
149
|
1 |
1 |
while(*ptr >= '0' && *ptr <= '9') { |
|
1 |
0 |
while(*ptr >= '0' && *ptr <= '9') { |
153
|
0 |
1 |
if(ptr + 2 > end) { |
159
|
1 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
|
0 |
1 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
164
|
0 |
1 |
if(n > 0) { |
180
|
1 |
62 |
if(*ptr == '-') { |
184
|
63 |
63 |
while(*ptr >= '0' && *ptr <= '9' && ptr < end) { |
|
63 |
0 |
while(*ptr >= '0' && *ptr <= '9' && ptr < end) { |
|
63 |
0 |
while(*ptr >= '0' && *ptr <= '9' && ptr < end) { |
188
|
1 |
62 |
if(negative) { |
191
|
6 |
57 |
if(ptr + 2 > end) { |
194
|
57 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
|
0 |
57 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
199
|
52 |
5 |
if(ps) { |
209
|
0 |
5 |
if(terminator == NULL) { |
224
|
5 |
0 |
if (e) { |
228
|
0 |
5 |
if (! end_ptr) { |
237
|
0 |
5 |
if(ptr + 2 > end) { |
240
|
5 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
|
0 |
5 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
244
|
0 |
5 |
if(ps) { |
256
|
0 |
0 |
if(ptr[0] == '-' && ptr[1] == '1') { |
|
0 |
0 |
if(ptr[0] == '-' && ptr[1] == '1') { |
257
|
0 |
0 |
if(ptr + 4 > end) { |
264
|
0 |
0 |
while(*ptr >= '0' && *ptr <= '9' && ptr < end) { |
|
0 |
0 |
while(*ptr >= '0' && *ptr <= '9' && ptr < end) { |
|
0 |
0 |
while(*ptr >= '0' && *ptr <= '9' && ptr < end) { |
268
|
0 |
0 |
if(ptr + n + 4 > end) { |
271
|
0 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
|
0 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
278
|
0 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
|
0 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
282
|
0 |
0 |
if(ps) { |
293
|
240 |
20 |
while(*ptr && (ptr[0] != '\x0D' && ptr[1] != '\x0A' && ptr < end)) { |
|
131 |
109 |
while(*ptr && (ptr[0] != '\x0D' && ptr[1] != '\x0A' && ptr < end)) { |
|
131 |
0 |
while(*ptr && (ptr[0] != '\x0D' && ptr[1] != '\x0A' && ptr < end)) { |
|
131 |
0 |
while(*ptr && (ptr[0] != '\x0D' && ptr[1] != '\x0A' && ptr < end)) { |
296
|
30 |
99 |
if(ptr + 2 > end) { |
299
|
99 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
|
0 |
99 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
305
|
98 |
1 |
if(ps) { |
315
|
12 |
0 |
while(*ptr && (ptr[0] != '\x0D' && ptr[1] != '\x0A' && ptr < end)) { |
|
10 |
2 |
while(*ptr && (ptr[0] != '\x0D' && ptr[1] != '\x0A' && ptr < end)) { |
|
10 |
0 |
while(*ptr && (ptr[0] != '\x0D' && ptr[1] != '\x0A' && ptr < end)) { |
|
10 |
0 |
while(*ptr && (ptr[0] != '\x0D' && ptr[1] != '\x0A' && ptr < end)) { |
318
|
0 |
2 |
if(ptr + 2 > end) { |
321
|
2 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
|
0 |
2 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
332
|
2 |
0 |
ptr = SvPVbyte(p, len); |
334
|
2 |
0 |
if(hv_exists((HV *) rv, "error", 5)) { |
336
|
2 |
0 |
if(cv_ptr) { |
341
|
0 |
2 |
PUSHMARK(SP); |
342
|
0 |
2 |
EXTEND(SP, 1); |
346
|
2 |
0 |
FREETMPS; |
362
|
0 |
0 |
if(ptr + 2 > end) { |
365
|
0 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
|
0 |
0 |
if(ptr[0] != '\x0D' || ptr[1] != '\x0A') { |
369
|
0 |
0 |
if(ps) { |
385
|
418 |
21 |
while(ps && av_count(ps->data) >= ps->expected) { |
|
18 |
400 |
while(ps && av_count(ps->data) >= ps->expected) { |
389
|
10 |
8 |
if(ps) { |
399
|
1 |
0 |
if(hv_exists((HV *) rv, "pubsub", 6)) { |
401
|
1 |
0 |
if(cv_ptr) { |
406
|
0 |
1 |
PUSHMARK(SP); |
408
|
1 |
0 |
if(count) { |
409
|
1 |
0 |
EXTEND(SP, count); |
|
0 |
1 |
EXTEND(SP, count); |
410
|
1 |
1 |
for(int i = 0; i < count; ++i) { |
416
|
1 |
0 |
FREETMPS; |
433
|
0 |
0 |
if(hv_exists((HV *) rv, "attribute", 9)) { |
435
|
0 |
0 |
if(cv_ptr) { |
440
|
0 |
0 |
PUSHMARK(SP); |
441
|
0 |
0 |
EXTEND(SP, 1); |
445
|
0 |
0 |
FREETMPS; |
477
|
19 |
402 |
if(extracted_item) { |
480
|
19 |
0 |
ptr = SvPVbyte(p, len); |
484
|
19 |
0 |
if (GIMME_V == G_SCALAR && av_count(results) > 0) { |
|
10 |
9 |
if (GIMME_V == G_SCALAR && av_count(results) > 0) { |
|
10 |
0 |
if (GIMME_V == G_SCALAR && av_count(results) > 0) { |
493
|
240 |
103 |
while(ps) { |
500
|
103 |
0 |
if (GIMME_V == G_LIST) { |
|
51 |
52 |
if (GIMME_V == G_LIST) { |
502
|
8 |
43 |
if(count) { |
503
|
8 |
0 |
EXTEND(SP, count); |
|
0 |
8 |
EXTEND(SP, count); |
504
|
8 |
8 |
for(int i = 0; i < count; ++i) { |
508
|
52 |
0 |
} else if (GIMME_V == G_SCALAR) { |
|
52 |
0 |
} else if (GIMME_V == G_SCALAR) { |
509
|
0 |
52 |
mXPUSHs(extracted); |