| line |
true |
false |
branch |
|
96
|
23 |
58 |
if (n <= 1) /* termination condition */ |
|
114
|
31 |
27 |
if (loc[n] < n) { |
|
121
|
31 |
27 |
for (i = n - 1; i >= 1; i--) |
|
145
|
0 |
46314 |
Copy(array, copy, len, SV*); |
|
147
|
40375 |
5939 |
if (calling) |
|
151
|
363146 |
46309 |
if (calling) { |
|
158
|
363141 |
46312 |
if (index != 0) { |
|
163
|
363141 |
46312 |
} while (index-- > 0); |
|
184
|
30 |
5 |
for (x = c->len; x >= 0; x--) free(c->tmparea[x]); |
|
186
|
1 |
4 |
if (c->copy) { |
|
187
|
5 |
1 |
for (x = 0; x < c->len; x++) SvREFCNT_dec(c->copy[x]); |
|
201
|
1 |
5 |
if ((n = av_len(av) + 1) == 0) |
|
206
|
0 |
5 |
if (c == NULL) { |
|
234
|
0 |
4 |
if (RETVAL == NULL) { |
|
240
|
0 |
4 |
if ((n = av_len(av) + 1) == 0) |
|
247
|
3 |
1 |
if (items > 2) { |
|
248
|
0 |
3 |
r = SvUV(ST(2)); |
|
249
|
0 |
3 |
if (r > n) { |
|
253
|
3 |
0 |
if (r < n) { |
|
262
|
0 |
4 |
if ((RETVAL->items = (SV**) safemalloc(sizeof(SV*) * (num + 1))) == NULL) |
|
277
|
0 |
4 |
if (RETVAL->p == NULL) |
|
280
|
0 |
4 |
if (RETVAL->loc == NULL) |
|
285
|
9 |
4 |
for (i = 1; i <= num; i++) { |
|
286
|
6 |
3 |
if (has_combination) { |
|
309
|
3 |
1 |
if (has_combination) { |
|
310
|
0 |
3 |
if(!reset_combination(RETVAL, av, r)) { |
|
327
|
5 |
54 |
if (self->is_done) { /* done permutation for all combination */ |
|
328
|
3 |
2 |
if (self->c) { |
|
335
|
0 |
54 |
EXTEND(sp, self->num); |
|
345
|
120 |
54 |
for (i = 1; i <= self->num; i++) { |
|
352
|
23 |
31 |
if (self->is_done && self->c) { /* permutation done */ |
|
|
21 |
2 |
if (self->is_done && self->c) { /* permutation done */ |
|
365
|
42 |
21 |
for (i = 1; i <= self->num; i++) { |
|
398
|
9 |
4 |
for (i = 1; i <= self->num; i++) { /* leakproof! */ |
|
415
|
1 |
13 |
if (self->is_done) |
|
417
|
0 |
13 |
EXTEND(sp, self->num); |
|
425
|
27 |
13 |
for (i = 1; i <= self->num; i++) |
|
453
|
7 |
3 |
for (i = 1; i <= self->num; i++) { |
|
477
|
6 |
0 |
if (!SvROK(callback_sv) || SvTYPE(SvRV(callback_sv)) != SVt_PVCV) |
|
|
0 |
6 |
if (!SvROK(callback_sv) || SvTYPE(SvRV(callback_sv)) != SVt_PVCV) |
|
479
|
6 |
0 |
if (!SvROK(array_sv) || SvTYPE(SvRV(array_sv)) != SVt_PVAV) |
|
|
0 |
6 |
if (!SvROK(array_sv) || SvTYPE(SvRV(array_sv)) != SVt_PVAV) |
|
490
|
0 |
6 |
if (SvREADONLY(c->array)) |
|
493
|
1 |
5 |
if (c->len == 0) { |
|
504
|
1 |
4 |
if (SvRMAGICAL(c->array)) { |
|
506
|
5 |
1 |
for (x = 0; x < c->len; x++) { |
|
508
|
5 |
0 |
c->copy[x] = (svp) ? SvREFCNT_inc(*svp) : &PL_sv_undef; |
|
521
|
30 |
5 |
for (x = c->len; x >= 0; x--) |
|
526
|
0 |
5 |
PUSH_MULTICALL(callback); |
|
|
0 |
5 |
PUSH_MULTICALL(callback); |
|
530
|
4 |
0 |
POP_MULTICALL; |
|
|
0 |
4 |
POP_MULTICALL; |