Fixes the case of $a = \$#{[]}; and then accessing $$a
[p5sagit/p5-mst-13.2.git] / dump.c
diff --git a/dump.c b/dump.c
index ee352b9..fed067d 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -155,7 +155,6 @@ Perl_sv_peek(pTHX_ SV *sv)
 {
     dVAR;
     SV *t = sv_newmortal();
-    STRLEN n_a;
     int unref = 0;
 
     sv_setpvn(t, "", 0);
@@ -331,7 +330,7 @@ Perl_sv_peek(pTHX_ SV *sv)
        while (unref--)
            sv_catpv(t, ")");
     }
-    return SvPV(t, n_a);
+    return SvPV_nolen(t);
 }
 
 void
@@ -767,11 +766,11 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o)
        if ( ! PL_op->op_flags & OPf_SPECIAL) { /* not lexical */
            if (cSVOPo->op_sv) {
                SV *tmpsv = NEWSV(0,0);
-               STRLEN n_a;
                ENTER;
                SAVEFREESV(tmpsv);
                gv_fullname3(tmpsv, (GV*)cSVOPo->op_sv, Nullch);
-               Perl_dump_indent(aTHX_ level, file, "GV = %s\n", SvPV(tmpsv, n_a));
+               Perl_dump_indent(aTHX_ level, file, "GV = %s\n",
+                                SvPV_nolen_const(tmpsv));
                LEAVE;
            }
            else
@@ -971,6 +970,7 @@ Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, const MAGIC *mg, I32 nest, I32
            else if (v == &PL_vtbl_amagicelem) s = "amagicelem";
            else if (v == &PL_vtbl_backref)    s = "backref";
            else if (v == &PL_vtbl_utf8)       s = "utf8";
+            else if (v == &PL_vtbl_arylen_p)   s = "arylen_p";
            if (s)
                Perl_dump_indent(aTHX_ level, file, "    MG_VIRTUAL = &PL_vtbl_%s\n", s);
            else