Change 33465 by [EMAIL PROTECTED] on 2008/03/10 21:18:14

        Integrate:
        [ 31588]
        Subject: [PATCH] dump.c: do not use sv_len_utf8 because it modified the 
scalar
        From: Gerard Goossen <[EMAIL PROTECTED]>
        Date: Wed, 11 Jul 2007 19:19:11 +0200
        Message-ID: <[EMAIL PROTECTED]>
        
        do not use sv_len_utf8 because it modified the scalar.
        Add a test to Peek.t to check that dumping doesn't modify anything;
        the test is still TODO because hashiteration in dump.c set the OOK flag.
        
        
        [the dump.c part. The test will need to be intergrated with the rest of
        the Devel::Peek test change backlog]

Affected files ...

... //depot/maint-5.8/perl/dump.c#85 integrate

Differences ...

==== //depot/maint-5.8/perl/dump.c#85 (text) ====
Index: perl/dump.c
--- perl/dump.c#84~33188~       2008-02-02 07:58:54.000000000 -0800
+++ perl/dump.c 2008-03-10 14:18:14.000000000 -0700
@@ -471,7 +471,7 @@
            Perl_sv_catpvf(aTHX_ t, "%s)", pv_display(tmp, (char 
*)SvPVX_const(sv), SvCUR(sv), SvLEN(sv), 127));
            if (SvUTF8(sv))
                Perl_sv_catpvf(aTHX_ t, " [UTF8 \"%s\"]",
-                              sv_uni_display(tmp, sv, 8 * sv_len_utf8(sv),
+                              sv_uni_display(tmp, sv, 6 * SvCUR(sv),
                                              UNI_DISPLAY_QQ));
            SvREFCNT_dec(tmp);
        }
@@ -1323,8 +1323,8 @@
            if (SvOOK(sv))
                PerlIO_printf(file, "( %s . ) ", pv_display(d, (char 
*)SvPVX_const(sv)-SvIVX(sv), SvIVX(sv), 0, pvlim));
            PerlIO_printf(file, "%s", pv_display(d, (char *)SvPVX_const(sv), 
SvCUR(sv), SvLEN(sv), pvlim));
-           if (SvUTF8(sv)) /* the 8?  \x{....} */
-               PerlIO_printf(file, " [UTF8 \"%s\"]", sv_uni_display(d, sv, 8 * 
sv_len_utf8(sv), UNI_DISPLAY_QQ));
+           if (SvUTF8(sv)) /* the 6?  \x{....} */
+               PerlIO_printf(file, " [UTF8 \"%s\"]", sv_uni_display(d, sv, 6 * 
SvCUR(sv), UNI_DISPLAY_QQ));
            PerlIO_printf(file, "\n");
            Perl_dump_indent(aTHX_ level, file, "  CUR = %"IVdf"\n", 
(IV)SvCUR(sv));
            Perl_dump_indent(aTHX_ level, file, "  LEN = %"IVdf"\n", 
(IV)SvLEN(sv));
@@ -1461,7 +1461,7 @@
 
                Perl_dump_indent(aTHX_ level+1, file, "Elt %s ", pv_display(d, 
(char *)keypv, len, 0, pvlim));
                if (SvUTF8(keysv))
-                   PerlIO_printf(file, "[UTF8 \"%s\"] ", sv_uni_display(d, 
keysv, 8 * sv_len_utf8(keysv), UNI_DISPLAY_QQ));
+                   PerlIO_printf(file, "[UTF8 \"%s\"] ", sv_uni_display(d, 
keysv, 6 * SvCUR(keysv), UNI_DISPLAY_QQ));
                if (HeKREHASH(he))
                    PerlIO_printf(file, "[REHASH] ");
                PerlIO_printf(file, "HASH = 0x%"UVxf"\n", (UV)hash);
End of Patch.

Reply via email to