… | |
… | |
271 | } |
271 | } |
272 | |
272 | |
273 | --enc->depth; |
273 | --enc->depth; |
274 | } |
274 | } |
275 | |
275 | |
276 | ecb_inline void |
|
|
277 | encode_he (enc_t *enc, HE *he) |
|
|
278 | { |
|
|
279 | } |
|
|
280 | |
|
|
281 | static void |
276 | static void |
282 | encode_hv (enc_t *enc, HV *hv) |
277 | encode_hv (enc_t *enc, HV *hv) |
283 | { |
278 | { |
284 | HE *he; |
279 | HE *he; |
285 | |
280 | |
… | |
… | |
766 | STRLEN len = decode_uint (dec); |
761 | STRLEN len = decode_uint (dec); |
767 | |
762 | |
768 | WANT (len); |
763 | WANT (len); |
769 | sv = newSVpvn (dec->cur, len); |
764 | sv = newSVpvn (dec->cur, len); |
770 | dec->cur += len; |
765 | dec->cur += len; |
|
|
766 | |
|
|
767 | if (ecb_expect_false (dec->stringref) |
|
|
768 | && SvCUR (sv) >= minimum_string_length (AvFILLp (dec->stringref) + 1)) |
|
|
769 | av_push (dec->stringref, SvREFCNT_inc_NN (sv)); |
771 | } |
770 | } |
772 | |
771 | |
773 | if (utf8) |
772 | if (utf8) |
774 | SvUTF8_on (sv); |
773 | SvUTF8_on (sv); |
775 | |
|
|
776 | if (ecb_expect_false (dec->stringref) |
|
|
777 | && SvCUR (sv) >= minimum_string_length (AvFILLp (dec->stringref) + 1)) |
|
|
778 | av_push (dec->stringref, SvREFCNT_inc_NN (sv)); |
|
|
779 | |
774 | |
780 | return sv; |
775 | return sv; |
781 | |
776 | |
782 | fail: |
777 | fail: |
783 | SvREFCNT_dec (sv); |
778 | SvREFCNT_dec (sv); |