support native integers, pack("L_",...) etc. (via private mail)
[p5sagit/p5-mst-13.2.git] / dump.c
diff --git a/dump.c b/dump.c
index 85cdddb..baf3b40 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -146,7 +146,7 @@ char *
 sv_peek(SV *sv)
 {
     SV *t = sv_newmortal();
-    STRLEN prevlen;
+    STRLEN n_a;
     int unref = 0;
 
     sv_setpvn(t, "", 0);
@@ -289,7 +289,7 @@ sv_peek(SV *sv)
        while (unref--)
            sv_catpv(t, ")");
     }
-    return SvPV(t, PL_na);
+    return SvPV(t, n_a);
 }
 
 void
@@ -362,6 +362,7 @@ void
 do_op_dump(I32 level, PerlIO *file, OP *o)
 {
     dTHR;
+    STRLEN n_a;
     dump_indent(level, file, "{\n");
     level++;
     if (o->op_seq)
@@ -500,7 +501,7 @@ do_op_dump(I32 level, PerlIO *file, OP *o)
            ENTER;
            SAVEFREESV(tmpsv);
            gv_fullname3(tmpsv, cGVOPo->op_gv, Nullch);
-           dump_indent(level, file, "GV = %s\n", SvPV(tmpsv, PL_na));
+           dump_indent(level, file, "GV = %s\n", SvPV(tmpsv, n_a));
            LEAVE;
        }
        else
@@ -631,10 +632,8 @@ do_magic_dump(I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool du
 #ifdef USE_LOCALE_COLLATE
            else if (v == &PL_vtbl_collxfrm)   s = "collxfrm";
 #endif
-#ifdef OVERLOAD
            else if (v == &PL_vtbl_amagic)     s = "amagic";
            else if (v == &PL_vtbl_amagicelem) s = "amagicelem";
-#endif
            if (s)
                dump_indent(level, file, "    MG_VIRTUAL = &PL_vtbl_%s\n", s);
            else
@@ -736,6 +735,7 @@ do_sv_dump(I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops,
     char *s;
     U32 flags;
     U32 type;
+    STRLEN n_a;
 
     if (!sv) {
        dump_indent(level, file, "SV = 0\n");
@@ -767,9 +767,7 @@ do_sv_dump(I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops,
     if (flags & SVf_FAKE)      sv_catpv(d, "FAKE,");
     if (flags & SVf_READONLY)  sv_catpv(d, "READONLY,");
 
-#ifdef OVERLOAD
     if (flags & SVf_AMAGIC)    sv_catpv(d, "OVERLOAD,");
-#endif /* OVERLOAD */
     if (flags & SVp_IOK)       sv_catpv(d, "pIOK,");
     if (flags & SVp_NOK)       sv_catpv(d, "pNOK,");
     if (flags & SVp_POK)       sv_catpv(d, "pPOK,");
@@ -894,8 +892,8 @@ do_sv_dump(I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops,
            if (SvOOK(sv))
                PerlIO_printf(file, "( %s . ) ", pv_display(d, SvPVX(sv)-SvIVX(sv), SvIVX(sv), 0, pvlim));
            PerlIO_printf(file, "%s\n", pv_display(d, SvPVX(sv), SvCUR(sv), SvLEN(sv), pvlim));
-           dump_indent(level, file, "  CUR = 0\n", (long)SvCUR(sv));
-           dump_indent(level, file, "  LEN = 0\n", (long)SvLEN(sv));
+           dump_indent(level, file, "  CUR = %ld\n", (long)SvCUR(sv));
+           dump_indent(level, file, "  LEN = %ld\n", (long)SvLEN(sv));
        }
        else
            dump_indent(level, file, "  PV = 0\n");
@@ -1020,7 +1018,7 @@ do_sv_dump(I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops,
        break;
     case SVt_PVCV:
        if (SvPOK(sv))
-           dump_indent(level, file, "  PROTOTYPE = \"%s\"\n", SvPV(sv,PL_na));
+           dump_indent(level, file, "  PROTOTYPE = \"%s\"\n", SvPV(sv,n_a));
        /* FALL THROUGH */
     case SVt_PVFM:
        do_hv_dump(level, file, "  COMP_STASH", CvSTASH(sv));