duping shared hask key scalars can use hek_dup
Nicholas Clark [Sun, 12 Jun 2005 22:34:39 +0000 (22:34 +0000)]
p4raw-id: //depot/perl@24813

sv.c

diff --git a/sv.c b/sv.c
index db5a2e0..b565057 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -10747,9 +10747,9 @@ Perl_rvpv_dup(pTHX_ SV *dstr, SV *sstr, CLONE_PARAMS* param)
                        and they should not have these flags
                        turned off */
 
-                   /* FIXME - would benefit from share_hek_hek  */
-                    SvPV_set(dstr, sharepvn(SvPVX_const(sstr), SvCUR(sstr),
-                                           SvUVX(sstr)));
+                   SvPV_set(dstr,
+                            HEK_KEY(hek_dup(SvSHARED_HEK_FROM_PV(SvPVX_const(sstr)),
+                                            param)));
                 } else {
 
                     SvPV_set(dstr, SAVEPVN(SvPVX_const(sstr), SvCUR(sstr)));