--- CBOR-XS/XS.xs 2013/11/20 14:59:06 1.21 +++ CBOR-XS/XS.xs 2013/11/20 16:19:47 1.23 @@ -227,7 +227,7 @@ { if (ecb_expect_false (enc->cbor.flags & F_DEDUP_STRINGS)) { - SV **svp = hv_fetch (enc->stringref[utf8], str, len, 1); + SV **svp = hv_fetch (enc->stringref[!!utf8], str, len, 1); if (SvOK (*svp)) { @@ -658,7 +658,7 @@ // for speed reasons, we specialcase single-string // byte or utf-8 strings as keys, but only when !stringref - if (expect_true (!dec->stringref)) + if (ecb_expect_true (!dec->stringref)) if (*dec->cur >= 0x40 && *dec->cur <= 0x40 + 27) { I32 len = decode_uint (dec);