line |
true |
false |
branch |
125
|
2937 |
0 |
if (expect_false (val < 0 || val >= sizeof (sviv_cache))) |
|
0 |
2937 |
if (expect_false (val < 0 || val >= sizeof (sviv_cache))) |
|
0 |
2937 |
if (expect_false (val < 0 || val >= sizeof (sviv_cache))) |
128
|
51 |
2886 |
if (expect_false (!sviv_cache [val])) |
144
|
1132 |
400 |
if (!SvOK (profile)) |
|
1132 |
0 |
if (!SvOK (profile)) |
|
1132 |
0 |
if (!SvOK (profile)) |
147
|
0 |
400 |
if (!SvROK (profile)) |
152
|
0 |
400 |
if (SvSTASH (profile) != profile_stash) |
164
|
0 |
1744 |
if (expect_false (idx >= SvCUR (sv))) |
178
|
172 |
436 |
if (idx >= oldlen) |
210
|
260 |
26 |
for (celem = default_map + sizeof (default_map) / sizeof (default_map [0]); celem-- > default_map; ) |
228
|
1 |
451 |
if (expect_false ((uintptr_t)(end - cur) < count)) |
239
|
1 |
10592 |
if (cur == end) |
262
|
1 |
1300 |
if (expect_false (c == 0x80)) |
267
|
545 |
6890 |
if (expect_false (res >> UVSIZE * 8 - 7)) |
272
|
754 |
6136 |
if (expect_true (!(c & 0x80))) |
284
|
86 |
1462 |
if (expect_false (res & 0x80)) |
292
|
0 |
86 |
if (expect_false (cnt == 0)) |
295
|
1 |
85 |
if (expect_false (cnt > UVSIZE)) |
303
|
66 |
85 |
while (--cnt); |
312
|
0 |
123 |
if (!len) |
317
|
60 |
63 |
if (expect_false (len > 1)) |
321
|
58 |
2 |
if (expect_false (mask == 0xff80 || mask == 0x0000)) |
|
1 |
57 |
if (expect_false (mask == 0xff80 || mask == 0x0000)) |
|
3 |
57 |
if (expect_false (mask == 0xff80 || mask == 0x0000)) |
327
|
14 |
106 |
UV val = negative ? -1 : 0; // copy signbit to all bits |
329
|
106 |
14 |
if (len > UVSIZE + (!negative && !*data)) |
|
47 |
59 |
if (len > UVSIZE + (!negative && !*data)) |
|
5 |
115 |
if (len > UVSIZE + (!negative && !*data)) |
334
|
215 |
115 |
while (--len); |
338
|
13 |
102 |
return negative ? newSViv ((IV)val) : newSVuv (val); |
352
|
714 |
391 |
if (expect_true (u < 10)) |
364
|
2684 |
391 |
while (u); |
368
|
1449 |
391 |
while (--ptr > beg) |
383
|
1 |
902 |
if (len <= 0) |
395
|
3 |
354 |
if (relative) |
401
|
74 |
280 |
if (w < 2 * 40) |
411
|
396 |
355 |
while (cur < end) |
414
|
0 |
396 |
if (oid + sizeof (oid) - app < 64) |
429
|
5 |
12 |
if (len & (chrsize - 1)) |
434
|
18 |
12 |
while (len) |
440
|
6 |
12 |
if (chrsize == 4) |
470
|
3 |
1545 |
if (tag == ASN_TAG_BER) |
473
|
229 |
1319 |
if (constructed) |
479
|
516 |
221 |
while (cur < buf + seqend) |
482
|
0 |
221 |
if (expect_false (cur > buf + seqend)) |
494
|
1 |
15 |
if (expect_false (len)) |
501
|
2 |
12 |
if (expect_false (len != 1)) |
530
|
1 |
3 |
if (len != 4) |
576
|
0 |
330 |
if (sum < (size_t)l2 || sum != (size_t)(STRLEN)sum) |
587
|
144 |
0 |
buf = (U8 *)SvPVbyte (buf_sv, len); |
599
|
1 |
164 |
if (len1 > 4096 - 24) |
602
|
165 |
0 |
return SvGROW (sv, len1); |
|
21 |
144 |
return SvGROW (sv, len1); |
608
|
165 |
1175 |
if (expect_false ((uintptr_t)(end - cur) < len)) |
652
|
471 |
77 |
if (val <= 0x7fU) |
688
|
60 |
242 |
: 2 |
689
|
28 |
32 |
+ (val > 0x000000000000ffU) |
719
|
0 |
92 |
if (expect_false (!SvIOK (sv))) |
724
|
88 |
4 |
if (SvIOK_notUV (sv)) |
728
|
8 |
80 |
if (expect_false (iv < 0)) |
750
|
4 |
80 |
UV uv = SvUV (sv); |
786
|
60 |
242 |
if (expect_false (lenlen > 1)) |
802
|
868 |
556 |
while (*str >= '0') |
816
|
88 |
0 |
char *ptr = SvPV (oid, len); // utf8 vs. bytes does not matter |
824
|
86 |
2 |
if (!relative) |
832
|
384 |
88 |
while (*ptr) |
847
|
657 |
0 |
if (expect_false (!SvROK (tuple) || SvTYPE ((rv = SvRV (tuple))) != SVt_PVAV)) |
|
0 |
657 |
if (expect_false (!SvROK (tuple) || SvTYPE ((rv = SvRV (tuple))) != SVt_PVAV)) |
|
0 |
657 |
if (expect_false (!SvROK (tuple) || SvTYPE ((rv = SvRV (tuple))) != SVt_PVAV)) |
850
|
0 |
657 |
if (expect_false (SvRMAGICAL (rv))) |
853
|
0 |
657 |
if (expect_false (AvFILL ((AV *)rv) != BER_ARRAYSIZE - 1)) |
|
0 |
657 |
if (expect_false (AvFILL ((AV *)rv) != BER_ARRAYSIZE - 1)) |
854
|
0 |
0 |
croak ("BER tuple must contain exactly %d elements, not %d", BER_ARRAYSIZE, AvFILL ((AV *)rv) + 1); |
864
|
8 |
0 |
char *ptr = SvPVutf8 (data, len); |
868
|
12 |
8 |
while (uchars--) |
871
|
0 |
12 |
UV uchr = utf8_to_uvchr_buf ((U8 *)ptr, (U8 *)ptr + len, &uclen); |
876
|
4 |
8 |
if (chrsize == 4) |
891
|
640 |
0 |
int klass = SvIV (AvARRAY (av)[BER_CLASS]); |
892
|
640 |
0 |
int tag = SvIV (AvARRAY (av)[BER_TAG]); |
893
|
640 |
0 |
int constructed = SvIV (AvARRAY (av)[BER_FLAGS]) & 1 ? ASN_CONSTRUCTED : 0; |
|
214 |
426 |
int constructed = SvIV (AvARRAY (av)[BER_FLAGS]) & 1 ? ASN_CONSTRUCTED : 0; |
898
|
0 |
640 |
if (expect_false (tag >= ASN_TAG_BER)) |
906
|
214 |
426 |
if (constructed) |
913
|
214 |
0 |
if (expect_false (!SvROK (data) || SvTYPE (SvRV (data)) != SVt_PVAV)) |
|
0 |
214 |
if (expect_false (!SvROK (data) || SvTYPE (SvRV (data)) != SVt_PVAV)) |
|
0 |
214 |
if (expect_false (!SvROK (data) || SvTYPE (SvRV (data)) != SVt_PVAV)) |
917
|
0 |
214 |
int fill = AvFILL (av); |
919
|
0 |
214 |
if (expect_false (SvRMAGICAL (av))) |
923
|
496 |
214 |
for (i = 0; i <= fill; ++i) |
937
|
8 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
0 |
8 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
0 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
0 |
8 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
0 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
0 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
8 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
8 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
8 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
8 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
6 |
2 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
6 |
2 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
0 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
0 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
0 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
0 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
0 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
0 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
|
0 |
0 |
*cur++ = SvTRUE (data) ? 0xff : 0x00; // 0xff = DER/CER |
955
|
204 |
0 |
const char *ptr = SvPVbyte (data, len); |
963
|
11 |
0 |
const char *ptr = SvPVutf8 (data, len); |
971
|
2 |
0 |
sscanf (SvPV_nolen (data), "%hhu.%hhu.%hhu.%hhu", ip + 0, ip + 1, ip + 2, ip + 3); |
1078
|
413 |
7 |
for (civ = const_iv + sizeof (const_iv) / sizeof (const_iv [0]); civ > const_iv; civ--) |
1090
|
1032 |
0 |
buf = (U8 *)SvPVbyte (ber, len); |
1096
|
0 |
465 |
EXTEND (SP, 2); |
1099
|
61 |
404 |
if (ix) |
1101
|
61 |
343 |
else if (cur != end) |
1109
|
0 |
73 |
if (!SvOK (tuple)) |
|
0 |
0 |
if (!SvOK (tuple)) |
|
0 |
0 |
if (!SvOK (tuple)) |
1112
|
73 |
0 |
if (!SvROK (tuple) || SvTYPE (SvRV (tuple)) != SVt_PVAV) |
|
0 |
73 |
if (!SvROK (tuple) || SvTYPE (SvRV (tuple)) != SVt_PVAV) |
1117
|
0 |
73 |
XPUSHs ( |
|
5 |
68 |
XPUSHs ( |
|
5 |
0 |
XPUSHs ( |
|
0 |
5 |
XPUSHs ( |
|
68 |
0 |
XPUSHs ( |
|
68 |
0 |
XPUSHs ( |
|
67 |
1 |
XPUSHs ( |
|
4 |
68 |
XPUSHs ( |
|
4 |
0 |
XPUSHs ( |
|
0 |
4 |
XPUSHs ( |
|
68 |
0 |
XPUSHs ( |
|
68 |
0 |
XPUSHs ( |
|
67 |
1 |
XPUSHs ( |
|
4 |
67 |
XPUSHs ( |
|
4 |
0 |
XPUSHs ( |
|
0 |
4 |
XPUSHs ( |
|
67 |
0 |
XPUSHs ( |
|
67 |
0 |
XPUSHs ( |
|
66 |
1 |
XPUSHs ( |
|
6 |
64 |
XPUSHs ( |
|
6 |
0 |
XPUSHs ( |
|
0 |
6 |
XPUSHs ( |
|
62 |
2 |
XPUSHs ( |
1129
|
0 |
3 |
if (!SvOK (tuple)) |
|
0 |
0 |
if (!SvOK (tuple)) |
|
0 |
0 |
if (!SvOK (tuple)) |
1134
|
0 |
3 |
XPUSHs ( |
|
3 |
0 |
XPUSHs ( |
|
2 |
1 |
XPUSHs ( |
|
0 |
0 |
XPUSHs ( |
|
2 |
0 |
XPUSHs ( |
|
2 |
0 |
XPUSHs ( |
|
0 |
0 |
XPUSHs ( |
|
2 |
0 |
XPUSHs ( |
|
1 |
1 |
XPUSHs ( |
|
0 |
0 |
XPUSHs ( |
1145
|
0 |
10 |
if (!SvOK (tuple)) |
|
0 |
0 |
if (!SvOK (tuple)) |
|
0 |
0 |
if (!SvOK (tuple)) |
1150
|
0 |
10 |
UV data = SvUV (AvARRAY (av)[BER_DATA]); |
1152
|
0 |
10 |
XPUSHs ( |
|
10 |
0 |
XPUSHs ( |
|
9 |
1 |
XPUSHs ( |
|
0 |
0 |
XPUSHs ( |
|
9 |
0 |
XPUSHs ( |
|
9 |
0 |
XPUSHs ( |
|
0 |
0 |
XPUSHs ( |
|
9 |
0 |
XPUSHs ( |
|
7 |
2 |
XPUSHs ( |
|
0 |
0 |
XPUSHs ( |
|
1 |
6 |
XPUSHs ( |
|
1 |
0 |
XPUSHs ( |
|
0 |
1 |
XPUSHs ( |
|
0 |
6 |
XPUSHs ( |
|
6 |
0 |
XPUSHs ( |
|
3 |
4 |
XPUSHs ( |
1165
|
0 |
4 |
if (!SvOK (tuple)) |
|
0 |
0 |
if (!SvOK (tuple)) |
|
0 |
0 |
if (!SvOK (tuple)) |
1170
|
0 |
4 |
XPUSHs ( |
|
4 |
0 |
XPUSHs ( |
|
3 |
1 |
XPUSHs ( |
|
0 |
0 |
XPUSHs ( |
|
3 |
0 |
XPUSHs ( |
|
2 |
1 |
XPUSHs ( |
|
0 |
0 |
XPUSHs ( |
|
2 |
0 |
XPUSHs ( |
|
2 |
0 |
XPUSHs ( |
|
0 |
0 |
XPUSHs ( |
|
1 |
1 |
XPUSHs ( |
|
1 |
0 |
XPUSHs ( |
|
0 |
1 |
XPUSHs ( |
|
1 |
0 |
XPUSHs ( |
1192
|
0 |
144 |
XPUSHs (buf_sv); |