line |
true |
false |
branch |
198
|
3069 |
3 |
if (SvLEN (sv) > SvCUR (sv) + 1) |
212
|
0 |
0 |
return idx <= 23 ? 3 |
|
0 |
0 |
return idx <= 23 ? 3 |
|
0 |
0 |
return idx <= 23 ? 3 |
|
0 |
0 |
return idx <= 23 ? 3 |
239
|
12523 |
7101 |
if (ecb_expect_false ((uintptr_t)(enc->end - enc->cur) < len)) |
242
|
12523 |
0 |
SvGROW (enc->sv, cur + (len < (cur >> 2) ? cur >> 2 : len) + 1); |
|
5989 |
6534 |
SvGROW (enc->sv, cur + (len < (cur >> 2) ? cur >> 2 : len) + 1); |
263
|
7003 |
6179 |
if (ecb_expect_true (len < LENGTH_EXT1)) |
265
|
1236 |
4943 |
else if (ecb_expect_true (len <= 0xffU)) |
270
|
4834 |
109 |
else if (len <= 0xffffU) |
276
|
109 |
0 |
else if (len <= 0xffffffffU) |
302
|
0 |
242 |
if (SvIsUV (sv)) |
304
|
187 |
55 |
else if (SvIVX (sv) >= 0) |
323
|
23 |
9 |
for (p = (U8 *)str; p < pend; ++p) |
329
|
23 |
9 |
for (p = (U8 *)str; p < pend; ++p) |
330
|
14 |
9 |
if (*p < 0x80) |
342
|
9 |
6394 |
if (ecb_expect_false (upgrade_utf8)) |
343
|
9 |
0 |
if (!utf8) |
349
|
3076 |
3318 |
encode_uint (enc, utf8 ? MAJOR_TEXT : MAJOR_BYTES, len); |
358
|
0 |
6403 |
if (ecb_expect_false (enc->cbor.flags & F_PACK_STRINGS)) |
362
|
0 |
0 |
if (SvOK (*svp)) |
|
0 |
0 |
if (SvOK (*svp)) |
|
0 |
0 |
if (SvOK (*svp)) |
366
|
0 |
0 |
encode_uint (enc, MAJOR_POS_INT, SvUV (*svp)); |
369
|
0 |
0 |
else if (len >= minimum_string_length (enc->stringref_idx)) |
389
|
0 |
0 |
if (!ecb_big_endian ()) |
405
|
3 |
0 |
if (!ecb_big_endian ()) |
421
|
8 |
0 |
if (!ecb_big_endian ()) |
431
|
3 |
3 |
encode_ch (enc, istrue ? MAJOR_MISC | SIMPLE_TRUE : MAJOR_MISC | SIMPLE_FALSE); |
438
|
0 |
0 |
if (enc->depth >= enc->cbor.max_depth) |
446
|
0 |
0 |
if (!SvROK (sv) || SvTYPE (SvRV (sv)) != SVt_PVAV) |
|
0 |
0 |
if (!SvROK (sv) || SvTYPE (SvRV (sv)) != SVt_PVAV) |
452
|
0 |
0 |
if (!(len & 1)) |
457
|
0 |
0 |
for (i = 0; i <= len; ++i) |
460
|
0 |
0 |
encode_sv (enc, svp ? *svp : &PL_sv_undef); |
474
|
0 |
0 |
char *str = SvPVbyte (sv, len); |
485
|
0 |
0 |
char *str = SvPVbyte (sv, len); |
493
|
0 |
0 |
char *str = SvPVutf8 (sv, len); |
500
|
0 |
0 |
case AS_FLOAT16: encode_float16 (enc, SvNV (sv)); break; |
501
|
0 |
0 |
case AS_FLOAT32: encode_float32 (enc, SvNV (sv)); break; |
502
|
0 |
0 |
case AS_FLOAT64: encode_float64 (enc, SvNV (sv)); break; |
516
|
0 |
6291 |
if (enc->depth >= enc->cbor.max_depth) |
523
|
0 |
6291 |
if (ecb_expect_false (SvMAGICAL (av))) |
524
|
0 |
0 |
for (i = 0; i <= len; ++i) |
527
|
0 |
0 |
encode_sv (enc, svp ? *svp : &PL_sv_undef); |
530
|
6415 |
6291 |
for (i = 0; i <= len; ++i) |
533
|
6415 |
0 |
encode_sv (enc, sv ? sv : &PL_sv_undef); |
544
|
0 |
16 |
if (enc->depth >= enc->cbor.max_depth) |
552
|
0 |
16 |
if (ecb_expect_false (mg)) |
557
|
15 |
16 |
while ((he = hv_iternext (hv))) |
559
|
0 |
15 |
if (HeKLEN (he) == HEf_SVKEY) |
560
|
0 |
0 |
encode_sv (enc, HeSVKEY (he)); |
|
0 |
0 |
encode_sv (enc, HeSVKEY (he)); |
564
|
0 |
15 |
encode_sv (enc, ecb_expect_false (mg) ? hv_iterval (hv, he) : HeVAL (he)); |
567
|
0 |
16 |
if (ecb_expect_false (mg)) |
577
|
0 |
6746 |
SvGETMAGIC (sv); |
|
0 |
0 |
SvGETMAGIC (sv); |
581
|
437 |
6309 |
if (ecb_expect_false (SvOBJECT (sv))) |
595
|
6 |
431 |
if (stash == boolean_stash) |
597
|
6 |
0 |
encode_bool (enc, SvIV (sv)); |
600
|
3 |
428 |
else if (stash == error_stash) |
605
|
212 |
216 |
else if (stash == tagged_stash) |
607
|
0 |
212 |
if (svt != SVt_PVAV) |
614
|
0 |
212 |
encode_uint (enc, MAJOR_TAG, SvUV (*av_fetch ((AV *)sv, 0, 1))); |
620
|
0 |
0 |
encode_forced (enc, SvUV (*av_fetch ((AV *)sv, 1, 1)), *av_fetch ((AV *)sv, 0, 1)); |
631
|
113 |
6412 |
if (ecb_expect_false (SvREFCNT (sv) > 1) |
632
|
6 |
107 |
&& ecb_expect_false (enc->cbor.flags & F_ALLOW_SHARING)) |
634
|
2 |
4 |
if (ecb_expect_false (!enc->shareable)) |
639
|
2 |
4 |
if (SvOK (*svp)) |
|
2 |
0 |
if (SvOK (*svp)) |
|
0 |
2 |
if (SvOK (*svp)) |
642
|
0 |
4 |
encode_uint (enc, MAJOR_POS_INT, SvUV (*svp)); |
653
|
212 |
6309 |
if (ecb_expect_false (SvOBJECT (sv))) |
658
|
0 |
212 |
if (enc->cbor.flags & F_FORBID_OBJECTS) |
659
|
0 |
0 |
croak ("encountered object '%s', but forbid_objects is enabled", |
661
|
209 |
3 |
else if ((method = gv_fetchmethod_autoload (stash, "TO_CBOR", 0))) |
666
|
0 |
209 |
PUSHMARK (SP); |
668
|
0 |
209 |
XPUSHs (sv_bless (sv_2mortal (newRV_inc (sv)), stash)); |
676
|
202 |
7 |
if (SvROK (TOPs) && SvRV (TOPs) == sv) |
|
0 |
202 |
if (SvROK (TOPs) && SvRV (TOPs) == sv) |
677
|
0 |
0 |
croak ("%s::TO_CBOR method returned same object as was passed instead of a new one", HvNAME (stash)); |
|
0 |
0 |
croak ("%s::TO_CBOR method returned same object as was passed instead of a new one", HvNAME (stash)); |
|
0 |
0 |
croak ("%s::TO_CBOR method returned same object as was passed instead of a new one", HvNAME (stash)); |
|
0 |
0 |
croak ("%s::TO_CBOR method returned same object as was passed instead of a new one", HvNAME (stash)); |
|
0 |
0 |
croak ("%s::TO_CBOR method returned same object as was passed instead of a new one", HvNAME (stash)); |
|
0 |
0 |
croak ("%s::TO_CBOR method returned same object as was passed instead of a new one", HvNAME (stash)); |
683
|
209 |
0 |
FREETMPS; LEAVE; |
685
|
3 |
0 |
else if ((method = gv_fetchmethod_autoload (stash, "FREEZE", 0)) != 0) |
690
|
0 |
3 |
PUSHMARK (SP); |
691
|
0 |
3 |
EXTEND (SP, 2); |
701
|
2 |
1 |
if (count == 1 && SvROK (TOPs) && SvRV (TOPs) == sv) |
|
0 |
2 |
if (count == 1 && SvROK (TOPs) && SvRV (TOPs) == sv) |
|
0 |
0 |
if (count == 1 && SvROK (TOPs) && SvRV (TOPs) == sv) |
702
|
0 |
0 |
croak ("%s::FREEZE(CBOR) method returned same object as was passed instead of a new one", HvNAME (stash)); |
|
0 |
0 |
croak ("%s::FREEZE(CBOR) method returned same object as was passed instead of a new one", HvNAME (stash)); |
|
0 |
0 |
croak ("%s::FREEZE(CBOR) method returned same object as was passed instead of a new one", HvNAME (stash)); |
|
0 |
0 |
croak ("%s::FREEZE(CBOR) method returned same object as was passed instead of a new one", HvNAME (stash)); |
|
0 |
0 |
croak ("%s::FREEZE(CBOR) method returned same object as was passed instead of a new one", HvNAME (stash)); |
|
0 |
0 |
croak ("%s::FREEZE(CBOR) method returned same object as was passed instead of a new one", HvNAME (stash)); |
706
|
3 |
0 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
3 |
0 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
0 |
3 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
0 |
0 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
3 |
0 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
0 |
3 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
3 |
0 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
3 |
0 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
0 |
3 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
0 |
0 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
3 |
0 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
0 |
3 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
3 |
0 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
3 |
0 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
0 |
3 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
0 |
0 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
3 |
0 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
0 |
3 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
|
0 |
3 |
encode_strref (enc, 0, HvNAMEUTF8 (stash), HvNAME (stash), HvNAMELEN (stash)); |
711
|
5 |
3 |
for (i = 0; i < count; ++i) |
719
|
3 |
0 |
FREETMPS; LEAVE; |
722
|
0 |
0 |
croak ("encountered object '%s', but no TO_CBOR or FREEZE methods available on it", |
725
|
16 |
6293 |
else if (svt == SVt_PVHV) |
727
|
6291 |
2 |
else if (svt == SVt_PVAV) |
743
|
0 |
11 |
if (ecb_expect_false (nv == (NV)(U32)nv)) |
746
|
3 |
8 |
else if (ecb_expect_false (nv == (float)nv)) |
755
|
0 |
13392 |
SvGETMAGIC (sv); |
|
0 |
0 |
SvGETMAGIC (sv); |
757
|
6385 |
7007 |
if (SvPOKp (sv)) |
760
|
6385 |
0 |
char *str = SvPV (sv, len); |
763
|
11 |
6996 |
else if (SvNOKp (sv)) |
765
|
242 |
6754 |
else if (SvIOKp (sv)) |
767
|
6746 |
8 |
else if (SvROK (sv)) |
769
|
8 |
0 |
else if (!SvOK (sv)) |
|
8 |
0 |
else if (!SvOK (sv)) |
|
8 |
0 |
else if (!SvOK (sv)) |
771
|
0 |
0 |
else if (enc->cbor.flags & F_ALLOW_UNKNOWN) |
774
|
0 |
0 |
croak ("encountered perl type (%s,0x%x) that CBOR cannot handle, check your input data", |
790
|
0 |
6534 |
if (cbor->flags & F_PACK_STRINGS) |
802
|
3072 |
3462 |
if (enc.cbor.flags & F_SHRINK) |
830
|
0 |
0 |
if (!dec->err) |
832
|
0 |
0 |
dec->err_sv = newSVsv (ERRSV); |
838
|
0 |
0 |
dec->err = SvPVutf8_nolen (dec->err_sv); |
846
|
5 |
0 |
if (!dec->err) |
871
|
6960 |
6287 |
if (ecb_expect_true (m < LENGTH_EXT1)) |
873
|
1272 |
5015 |
else if (ecb_expect_true (m == LENGTH_EXT1)) |
875
|
0 |
1272 |
WANT (1); |
879
|
4856 |
159 |
else if (ecb_expect_true (m == LENGTH_EXT2)) |
881
|
0 |
4856 |
WANT (2); |
886
|
134 |
25 |
else if (ecb_expect_true (m == LENGTH_EXT4)) |
888
|
0 |
134 |
WANT (4); |
895
|
25 |
0 |
else if (ecb_expect_true (m == LENGTH_EXT8)) |
897
|
0 |
25 |
WANT (8); |
928
|
0 |
6310 |
DEC_INC_DEPTH; |
930
|
8 |
6302 |
if (*dec->cur == (MAJOR_ARRAY | MINOR_INDEF)) |
936
|
0 |
47 |
WANT (1); |
938
|
39 |
8 |
if (*dec->cur == (MAJOR_MISC | MINOR_INDEF) || dec->err) |
|
0 |
39 |
if (*dec->cur == (MAJOR_MISC | MINOR_INDEF) || dec->err) |
951
|
0 |
6302 |
WANT (len); // complexity check for av_fill - need at least one byte per value, do not allow supersize arrays |
954
|
6438 |
6302 |
for (i = 0; i < len; ++i) |
973
|
17 |
0 |
if (ecb_expect_true (!dec->stringref)) |
974
|
1 |
16 |
if (ecb_expect_true ((U8)(*dec->cur - MAJOR_BYTES) <= LENGTH_EXT8)) |
979
|
0 |
1 |
WANT (len); |
986
|
16 |
0 |
else if (ecb_expect_true ((U8)(*dec->cur - MAJOR_TEXT) <= LENGTH_EXT8)) |
991
|
0 |
16 |
WANT (len); |
994
|
1 |
15 |
if (ecb_expect_false (dec->cbor.flags & F_VALIDATE_UTF8)) |
995
|
1 |
0 |
if (!cbor_is_utf8_string ((U8 *)key, len)) |
|
1 |
0 |
if (!cbor_is_utf8_string ((U8 *)key, len)) |
1011
|
0 |
0 |
if (ecb_expect_false (SvAMAGIC (k))) |
|
0 |
0 |
if (ecb_expect_false (SvAMAGIC (k))) |
|
0 |
0 |
if (ecb_expect_false (SvAMAGIC (k))) |
|
0 |
0 |
if (ecb_expect_false (SvAMAGIC (k))) |
1016
|
0 |
0 |
PUSHMARK (SP); |
1017
|
0 |
0 |
EXTEND (SP, 3); |
1026
|
0 |
0 |
FREETMPS; LEAVE; |
1028
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
1046
|
0 |
12 |
DEC_INC_DEPTH; |
1048
|
2 |
10 |
if (*dec->cur == (MAJOR_MAP | MINOR_INDEF)) |
1054
|
0 |
5 |
WANT (1); |
1056
|
3 |
2 |
if (*dec->cur == (MAJOR_MISC | MINOR_INDEF) || dec->err) |
|
0 |
3 |
if (*dec->cur == (MAJOR_MISC | MINOR_INDEF) || dec->err) |
1069
|
0 |
10 |
WANT (pairs); // complexity check - need at least one byte per value, do not allow supersize hashes |
1071
|
14 |
10 |
while (pairs--) |
1089
|
10 |
6381 |
if (ecb_expect_false ((*dec->cur & MINOR_MASK) == MINOR_INDEF)) |
1100
|
0 |
39 |
WANT (1); |
1102
|
10 |
29 |
if ((*dec->cur - major) > LENGTH_EXT8) |
1103
|
10 |
0 |
if (*dec->cur == (MAJOR_MISC | MINOR_INDEF)) |
1113
|
0 |
29 |
WANT (len); |
1122
|
0 |
6381 |
WANT (len); |
1126
|
0 |
6381 |
if (ecb_expect_false (dec->stringref) |
1127
|
0 |
0 |
&& SvCUR (sv) >= minimum_string_length (AvFILLp (dec->stringref) + 1)) |
1131
|
3090 |
3301 |
if (utf8) |
1133
|
2 |
3088 |
if (ecb_expect_false (dec->cbor.flags & F_VALIDATE_UTF8)) |
1134
|
2 |
0 |
if (!cbor_is_utf8_string (SvPVX (sv), SvCUR (sv))) |
|
2 |
0 |
if (!cbor_is_utf8_string (SvPVX (sv), SvCUR (sv))) |
1153
|
0 |
217 |
WANT (1); |
1182
|
0 |
0 |
if ((*dec->cur >> MAJOR_SHIFT) != (MAJOR_POS_INT >> MAJOR_SHIFT)) |
1187
|
0 |
0 |
if (!dec->stringref || idx >= (UV)(1 + AvFILLp (dec->stringref))) |
|
0 |
0 |
if (!dec->stringref || idx >= (UV)(1 + AvFILLp (dec->stringref))) |
1196
|
3 |
0 |
if (ecb_expect_false (!dec->shareable)) |
1199
|
1 |
2 |
if (dec->cbor.flags & F_ALLOW_CYCLES) |
1220
|
0 |
4 |
if ((*dec->cur >> MAJOR_SHIFT) != (MAJOR_POS_INT >> MAJOR_SHIFT)) |
1225
|
4 |
0 |
if (!dec->shareable || idx >= (UV)(1 + AvFILLp (dec->shareable))) |
|
0 |
4 |
if (!dec->shareable || idx >= (UV)(1 + AvFILLp (dec->shareable))) |
1230
|
1 |
3 |
if (sv == &PL_sv_undef) |
1237
|
0 |
2 |
if (dec->cbor.flags & F_FORBID_OBJECTS) |
1242
|
2 |
0 |
if (!SvROK (sv) || SvTYPE (SvRV (sv)) != SVt_PVAV) |
|
0 |
2 |
if (!SvROK (sv) || SvTYPE (SvRV (sv)) != SVt_PVAV) |
1249
|
0 |
2 |
if (!stash) |
1254
|
0 |
2 |
if (!method) |
1260
|
0 |
2 |
PUSHMARK (SP); |
1261
|
2 |
0 |
EXTEND (SP, len + 1); |
|
0 |
2 |
EXTEND (SP, len + 1); |
1268
|
4 |
2 |
for (i = 1; i < len; ++i) |
1275
|
2 |
0 |
if (SvTRUE (ERRSV)) |
|
2 |
0 |
if (SvTRUE (ERRSV)) |
|
2 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
2 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
2 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
2 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
2 |
0 |
if (SvTRUE (ERRSV)) |
|
2 |
0 |
if (SvTRUE (ERRSV)) |
|
2 |
0 |
if (SvTRUE (ERRSV)) |
|
2 |
0 |
if (SvTRUE (ERRSV)) |
|
2 |
0 |
if (SvTRUE (ERRSV)) |
|
2 |
0 |
if (SvTRUE (ERRSV)) |
|
2 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
2 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
2 |
if (SvTRUE (ERRSV)) |
1277
|
0 |
0 |
FREETMPS; LEAVE; |
1286
|
2 |
0 |
FREETMPS; LEAVE; |
1299
|
0 |
208 |
PUSHMARK (SP); |
1300
|
0 |
208 |
EXTEND (SP, 2); |
1305
|
0 |
208 |
int count = call_sv (dec->cbor.filter ? dec->cbor.filter : default_filter, G_ARRAY | G_EVAL); |
1308
|
208 |
0 |
if (SvTRUE (ERRSV)) |
|
208 |
0 |
if (SvTRUE (ERRSV)) |
|
208 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
208 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
208 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
208 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
208 |
0 |
if (SvTRUE (ERRSV)) |
|
208 |
0 |
if (SvTRUE (ERRSV)) |
|
208 |
0 |
if (SvTRUE (ERRSV)) |
|
208 |
0 |
if (SvTRUE (ERRSV)) |
|
208 |
0 |
if (SvTRUE (ERRSV)) |
|
208 |
0 |
if (SvTRUE (ERRSV)) |
|
208 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
208 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
208 |
if (SvTRUE (ERRSV)) |
1311
|
0 |
0 |
FREETMPS; LEAVE; |
1315
|
207 |
1 |
if (count) |
1336
|
207 |
1 |
FREETMPS; LEAVE; |
1351
|
0 |
13252 |
WANT (1); |
1386
|
0 |
5 |
WANT (2); |
1397
|
0 |
4 |
WANT (4); |
1401
|
4 |
0 |
if (!ecb_big_endian ()) |
1410
|
0 |
8 |
WANT (8); |
1414
|
8 |
0 |
if (!ecb_big_endian ()) |
1441
|
6546 |
0 |
char *data = SvPVbyte (string, len); |
1443
|
6545 |
1 |
if (len > cbor->max_size && cbor->max_size) |
|
0 |
6545 |
if (len > cbor->max_size && cbor->max_size) |
1453
|
213 |
6333 |
if (offset_return) |
1456
|
6333 |
213 |
if (!(offset_return || !sv)) |
|
6333 |
0 |
if (!(offset_return || !sv)) |
1457
|
1 |
6332 |
if (dec.cur != dec.end && !dec.err) |
|
0 |
1 |
if (dec.cur != dec.end && !dec.err) |
1460
|
5 |
6541 |
if (dec.err) |
1462
|
1 |
4 |
if (dec.shareable) |
1468
|
1 |
1 |
for (i = av_len (dec.shareable) + 1; i--; ) |
1469
|
1 |
0 |
if ((svp = av_fetch (dec.shareable, i, 0))) |
1475
|
0 |
5 |
if (dec.err_sv) |
1496
|
428 |
0 |
SvPV (cborstr, cur); |
1498
|
370 |
118 |
while (ecb_expect_true (self->incr_need <= cur)) |
1515
|
19 |
351 |
if (ecb_expect_false (ilen < 0)) |
1517
|
0 |
19 |
if (m != MINOR_INDEF) |
1520
|
10 |
9 |
if (*p == (MAJOR_MISC | MINOR_INDEF)) |
1522
|
1 |
9 |
if (count >= 0) |
1536
|
64 |
287 |
if (ecb_expect_false (self->incr_need > cur)) |
1554
|
118 |
88 |
if (ecb_expect_false (ilen)) |
1560
|
335 |
118 |
} while (--ilen); |
1570
|
33 |
137 |
if (ecb_expect_false (self->incr_need > cur)) |
1579
|
18 |
18 |
if (len) |
1592
|
236 |
36 |
if (count > 0) |
1594
|
239 |
24 |
while (!--count) |
1596
|
212 |
27 |
if (!AvFILLp (self->incr_count)) |
1651
|
0 |
9237 |
XPUSHs (sv_2mortal (sv_bless ( |
|
0 |
9237 |
XPUSHs (sv_2mortal (sv_bless ( |
1670
|
6152 |
0 |
if (enable) |
1675
|
0 |
6152 |
XPUSHs (ST (0)); |
1690
|
0 |
0 |
XPUSHs (boolSV (self->flags & ix)); |
|
0 |
0 |
XPUSHs (boolSV (self->flags & ix)); |
1695
|
0 |
0 |
XPUSHs (ST (0)); |
1706
|
0 |
2 |
XPUSHs (ST (0)); |
1717
|
0 |
0 |
self->filter = filter ? newSVsv (filter) : filter; |
1718
|
0 |
0 |
XPUSHs (ST (0)); |
1722
|
0 |
0 |
RETVAL = self->filter ? self->filter : NEWSV (0, 0); |
1729
|
0 |
6155 |
XPUSHs (scalar); |
1734
|
0 |
3082 |
XPUSHs (cborstr); |
1742
|
0 |
0 |
EXTEND (SP, 2); |
1752
|
0 |
216 |
if (SvUTF8 (cborstr)) |
1755
|
62 |
154 |
if (!self->incr_count) |
1766
|
215 |
213 |
if (!incr_parse (self, cborstr)) |
1768
|
215 |
0 |
if (self->incr_need > self->max_size && self->max_size) |
|
1 |
214 |
if (self->incr_need > self->max_size && self->max_size) |
1779
|
0 |
212 |
XPUSHs (sv); |
1789
|
212 |
0 |
while (ix); |
1815
|
0 |
379 |
XPUSHs (scalar); |
1824
|
0 |
3247 |
XPUSHs (cborstr); |