line |
true |
false |
branch |
85
|
23 |
0 |
return my_snprintf( numstr, strlen, UV_TO_STR_TMPL, num ); |
|
0 |
23 |
return my_snprintf( numstr, strlen, UV_TO_STR_TMPL, num ); |
89
|
2 |
0 |
return my_snprintf( numstr, strlen, IV_TO_STR_TMPL, num ); |
|
0 |
2 |
return my_snprintf( numstr, strlen, IV_TO_STR_TMPL, num ); |
93
|
195 |
11 |
if (!(decstate->flags & CBF_FLAG_PERSIST_STATE)) { |
179
|
0 |
0 |
my_snprintf( bytebuf, 5, "0x%02x", byte ); |
227
|
0 |
33 |
my_snprintf( tmpl, sizeof(tmpl), "Ignoring unrecognized CBOR tag #%s (major type %%u, %%s)!", UV_TO_STR_TMPL ); |
236
|
93 |
3 |
if (!(decstate->flags & CBF_FLAG_NAIVE_UTF8) && !is_utf8_string( (U8 *)buffer, len)) { |
|
2 |
91 |
if (!(decstate->flags & CBF_FLAG_NAIVE_UTF8) && !is_utf8_string( (U8 *)buffer, len)) { |
252
|
6 |
258 |
_RETURN_IF_INCOMPLETE( decstate, 2, 0 ); |
263
|
10 |
46 |
_RETURN_IF_INCOMPLETE( decstate, 3, 0); |
274
|
34 |
128 |
_RETURN_IF_INCOMPLETE( decstate, 5, 0); |
285
|
40 |
19 |
_RETURN_IF_INCOMPLETE( decstate, 9, 0); |
326
|
39 |
132 |
if (CONTROL_BYTE_LENGTH_TYPE(*decstate->curbyte) == CBOR_LENGTH_INDEFINITE) { |
330
|
4 |
79 |
_RETURN_IF_INCOMPLETE( decstate, 1, NULL ); |
332
|
12 |
67 |
if ( decstate->curbyte[0] == '\xff') { |
339
|
23 |
44 |
_RETURN_IF_SET_INCOMPLETE(decstate, NULL); |
346
|
2 |
127 |
_RETURN_IF_SET_INCOMPLETE(decstate, NULL); |
348
|
108 |
19 |
if (array_length) { |
352
|
533 |
54 |
for (i=0; i
|
354
|
5 |
479 |
_RETURN_IF_SET_INCOMPLETE(decstate, NULL); |
356
|
0 |
479 |
if (!av_store(array, i, cur)) { |
369
|
1 |
1908 |
if (CONTROL_BYTE_LENGTH_TYPE(*decstate->curbyte) == CBOR_LENGTH_INDEFINITE) { |
379
|
1 |
45 |
if (CONTROL_BYTE_LENGTH_TYPE(*decstate->curbyte) == CBOR_LENGTH_INDEFINITE) { |
384
|
16 |
26 |
_RETURN_IF_SET_INCOMPLETE(decstate, 0); |
387
|
1 |
25 |
if (positive >= 0x8000000000000000U) { |
412
|
11 |
3715 |
if (CONTROL_BYTE_LENGTH_TYPE(*decstate->curbyte) == CBOR_LENGTH_INDEFINITE) { |
420
|
2 |
21 |
_RETURN_IF_INCOMPLETE( decstate, 1, false ); |
422
|
7 |
14 |
if (decstate->curbyte[0] == '\xff') { |
431
|
2 |
12 |
_RETURN_IF_SET_INCOMPLETE( decstate, false ); |
444
|
41 |
3668 |
_RETURN_IF_SET_INCOMPLETE(decstate, false); |
446
|
31 |
3637 |
_RETURN_IF_INCOMPLETE( decstate, string_u->numbuf.num.uv, false ); |
457
|
2 |
2559 |
_RETURN_IF_INCOMPLETE( decstate, 1, ); |
474
|
1 |
22 |
_RETURN_IF_SET_INCOMPLETE(decstate, ); |
484
|
1 |
2 |
_RETURN_IF_SET_INCOMPLETE(decstate, ); |
494
|
3 |
2522 |
_RETURN_IF_SET_INCOMPLETE(decstate, ); |
496
|
2519 |
3 |
if (!my_key_has_sv) { |
497
|
0 |
2519 |
if (my_key.numbuf.num.uv > 0x7fffffffU) { |
503
|
2489 |
30 |
if (SHOULD_VALIDATE_UTF8(decstate, major_type)) { |
|
0 |
2489 |
if (SHOULD_VALIDATE_UTF8(decstate, major_type)) { |
506
|
0 |
29 |
keylen = decstate->string_decode_mode == CBF_STRING_DECODE_NEVER ? my_key.numbuf.num.uv : -my_key.numbuf.num.uv; |
522
|
3 |
2542 |
if (decstate->incomplete_by) { |
523
|
1 |
2 |
if (my_key_has_sv) { |
527
|
2 |
2540 |
else if (my_key_has_sv) { |
541
|
8 |
59 |
if (CONTROL_BYTE_LENGTH_TYPE(*decstate->curbyte) == CBOR_LENGTH_INDEFINITE) { |
545
|
2 |
11 |
_RETURN_IF_INCOMPLETE( decstate, 1, NULL ); |
547
|
4 |
7 |
if (decstate->curbyte[0] == '\xff') { |
555
|
2 |
5 |
if ( decstate->incomplete_by ) { |
562
|
5 |
51 |
if ( decstate->incomplete_by ) { |
566
|
39 |
12 |
if (keycount) { |
567
|
2554 |
22 |
while (keycount > 0) { |
571
|
8 |
2537 |
if ( decstate->incomplete_by ) { |
591
|
0 |
7 |
if (exp == 0) val = ldexp(mant, -24); |
592
|
1 |
6 |
else if (exp != 31) val = ldexp(mant + 1024, exp - 25); |
593
|
4 |
2 |
else val = mant == 0 ? INFINITY : NAN; |
594
|
2 |
5 |
return half & 0x8000 ? -val : val; |
622
|
4 |
1191 |
if (_decode_str( aTHX_ decstate, &string )) { |
626
|
73 |
1118 |
_RETURN_IF_SET_INCOMPLETE(decstate, NULL); |
635
|
11 |
3938 |
_RETURN_IF_INCOMPLETE( decstate, 1, NULL ); |
644
|
15 |
1867 |
if ( decstate->incomplete_by ) { |
652
|
15 |
23 |
if ( decstate->incomplete_by ) { |
661
|
73 |
1122 |
_RETURN_IF_SET_INCOMPLETE(decstate, NULL); |
663
|
1058 |
64 |
if (SHOULD_VALIDATE_UTF8(decstate, CONTROL_BYTE_MAJOR_TYPE(control_byte))) { |
|
2 |
1056 |
if (SHOULD_VALIDATE_UTF8(decstate, CONTROL_BYTE_MAJOR_TYPE(control_byte))) { |
664
|
66 |
0 |
_validate_utf8_string_if_needed( aTHX_ decstate, SvPV_nolen(ret), SvCUR(ret)); |
669
|
63 |
2 |
if (decstate->string_decode_mode != CBF_STRING_DECODE_NEVER) SvUTF8_on(ret); |
675
|
34 |
85 |
_RETURN_IF_SET_INCOMPLETE(decstate, NULL); |
680
|
17 |
38 |
_RETURN_IF_SET_INCOMPLETE(decstate, NULL); |
685
|
1 |
197 |
if (CONTROL_BYTE_LENGTH_TYPE(control_byte) == CBOR_LENGTH_INDEFINITE) { |
690
|
15 |
179 |
_RETURN_IF_SET_INCOMPLETE(decstate, NULL); |
694
|
24 |
155 |
if (tagnum == CBOR_TAG_SHAREDREF && decstate->reflist) { |
|
12 |
12 |
if (tagnum == CBOR_TAG_SHAREDREF && decstate->reflist) { |
695
|
0 |
12 |
if (value_major_type != CBOR_TYPE_UINT) { |
697
|
0 |
0 |
my_snprintf( tmpl, sizeof(tmpl), "Shared ref type must be uint, not %%u (%%s)!" ); |
702
|
0 |
12 |
_RETURN_IF_SET_INCOMPLETE(decstate, NULL); |
704
|
0 |
12 |
if (refnum >= decstate->reflistlen) { |
713
|
5 |
162 |
_RETURN_IF_SET_INCOMPLETE(decstate, NULL); |
715
|
17 |
145 |
if (tagnum == CBOR_TAG_INDIRECTION) { |
718
|
24 |
121 |
else if (tagnum == CBOR_TAG_SHAREABLE && decstate->reflist) { |
|
12 |
12 |
else if (tagnum == CBOR_TAG_SHAREABLE && decstate->reflist) { |
720
|
0 |
12 |
Renew( decstate->reflist, decstate->reflistlen, void * ); |
725
|
102 |
31 |
else if (decstate->tag_handler) { |
730
|
101 |
1 |
if (handler_cr && *handler_cr && SvOK(*handler_cr)) { |
|
101 |
0 |
if (handler_cr && *handler_cr && SvOK(*handler_cr)) { |
|
1 |
100 |
if (handler_cr && *handler_cr && SvOK(*handler_cr)) { |
|
1 |
0 |
if (handler_cr && *handler_cr && SvOK(*handler_cr)) { |
|
0 |
1 |
if (handler_cr && *handler_cr && SvOK(*handler_cr)) { |
762
|
2 |
7 |
_RETURN_IF_INCOMPLETE( decstate, 3, NULL ); |
770
|
4 |
24 |
_RETURN_IF_INCOMPLETE( decstate, 5, NULL ); |
786
|
8 |
63 |
_RETURN_IF_INCOMPLETE( decstate, 9, NULL ); |
828
|
599 |
30 |
if (decode_state->curbyte == NULL) { |
854
|
472 |
107 |
if (cbor) { |
859
|
0 |
579 |
if (NULL != tag_handler) { |
870
|
0 |
579 |
if (flags & CBF_FLAG_PRESERVE_REFERENCES) { |
878
|
4 |
0 |
if (NULL == decode_state->reflist) { |
884
|
4 |
579 |
if (NULL != decode_state->reflist) { |
892
|
2 |
2 |
if (decode_state->reflistlen) { |
901
|
102 |
477 |
if (NULL != decode_state->tag_handler) { |
912
|
146 |
384 |
if (decode_state->incomplete_by) { |
916
|
1 |
383 |
if (decode_state->curbyte != decode_state->end) { |