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; |