Add new tests for keys in %+ and %-
[p5sagit/p5-mst-13.2.git] / pp.c
diff --git a/pp.c b/pp.c
index e1a45c1..0cc80e6 100644 (file)
--- a/pp.c
+++ b/pp.c
@@ -251,17 +251,17 @@ Perl_softref2xv(pTHX_ SV *const sv, const char *const what, const U32 type,
     if ((PL_op->op_flags & OPf_SPECIAL) &&
        !(PL_op->op_flags & OPf_MOD))
        {
-           gv = (GV*)gv_fetchsv(sv, 0, type);
+           gv = gv_fetchsv(sv, 0, type);
            if (!gv
                && (!is_gv_magical_sv(sv,0)
-                   || !(gv = (GV*)gv_fetchsv(sv, GV_ADD, type))))
+                   || !(gv = gv_fetchsv(sv, GV_ADD, type))))
                {
                    **spp = &PL_sv_undef;
                    return NULL;
                }
        }
     else {
-       gv = (GV*)gv_fetchsv(sv, GV_ADD, type);
+       gv = gv_fetchsv(sv, GV_ADD, type);
     }
     return gv;
 }
@@ -323,8 +323,7 @@ PP(pp_av2arylen)
     AV * const av = (AV*)TOPs;
     SV ** const sv = Perl_av_arylen_p(aTHX_ (AV*)av);
     if (!*sv) {
-       *sv = newSV(0);
-       sv_upgrade(*sv, SVt_PVMG);
+       *sv = newSV_type(SVt_PVMG);
        sv_magic(*sv, (SV*)av, PERL_MAGIC_arylen, NULL, 0);
     }
     SETs(*sv);