--- CBOR-XS/XS.xs 2013/11/20 16:29:02 1.24 +++ CBOR-XS/XS.xs 2013/11/22 09:40:13 1.26 @@ -273,11 +273,6 @@ --enc->depth; } -ecb_inline void -encode_he (enc_t *enc, HE *he) -{ -} - static void encode_hv (enc_t *enc, HV *hv) { @@ -768,15 +763,15 @@ WANT (len); sv = newSVpvn (dec->cur, len); dec->cur += len; + + if (ecb_expect_false (dec->stringref) + && SvCUR (sv) >= minimum_string_length (AvFILLp (dec->stringref) + 1)) + av_push (dec->stringref, SvREFCNT_inc_NN (sv)); } if (utf8) SvUTF8_on (sv); - if (ecb_expect_false (dec->stringref) - && SvCUR (sv) >= minimum_string_length (AvFILLp (dec->stringref) + 1)) - av_push (dec->stringref, SvREFCNT_inc_NN (sv)); - return sv; fail: