X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=doop.c;h=e527cdee1812613a55db47ca45166ff863c10bb6;hb=4a71ed0cc11f5be9a856b29b19af5c91a1bd76cb;hp=e92f49e66869184aa2c40270a8416459444169bc;hpb=48c036b1eb8f866b948f33704ee6152323a5aad9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/doop.c b/doop.c index e92f49e..e527cde 100644 --- a/doop.c +++ b/doop.c @@ -483,7 +483,11 @@ do_kv(ARGSproto) sv_magic(TARG, Nullsv, 'k', Nullch, 0); } LvTYPE(TARG) = 'k'; - LvTARG(TARG) = (SV*)hv; + if (LvTARG(TARG) != (SV*)hv) { + if (LvTARG(TARG)) + SvREFCNT_dec(LvTARG(TARG)); + LvTARG(TARG) = SvREFCNT_inc(hv); + } PUSHs(TARG); RETURN; }