Detypos (and sticking with US spelling since Dan Sugalski
[p5sagit/p5-mst-13.2.git] / sv.c
diff --git a/sv.c b/sv.c
index 974bcbe..7e6bc2d 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -4466,7 +4466,9 @@ Perl_sv_magicext(pTHX_ SV* sv, SV* obj, int how, MGVTBL *vtable,
        (SvTYPE(obj) == SVt_PVGV &&
            (GvSV(obj) == sv || GvHV(obj) == (HV*)sv || GvAV(obj) == (AV*)sv ||
            GvCV(obj) == (CV*)sv || GvIOp(obj) == (IO*)sv ||
-           GvFORM(obj) == (CV*)sv)))
+           GvFORM(obj) == (CV*)sv)) ||
+       (how == PERL_MAGIC_tiedscalar &&
+           SvROK(obj) && (SvRV(obj) == sv || GvIO(SvRV(obj)) == (IO*)sv)))
     {
        mg->mg_obj = obj;
     }
@@ -6334,7 +6336,7 @@ Perl_newSVpvn_share(pTHX_ const char *src, I32 len, U32 hash)
        len = tmplen;
     }
     if (!hash)
-       PERL_HASH(hash, src, len);
+       PERL_HASH(hash, (U8*)src, len);
     new_SV(sv);
     sv_upgrade(sv, SVt_PVIV);
     SvPVX(sv) = sharepvn(src, is_utf8?-len:len, hash);