develooper Front page | perl.perl5.changes | Postings from May 2008

Change 33790: Data::Dumper patch

From:
Rafael Garcia-Suarez
Date:
May 8, 2008 08:45
Subject:
Change 33790: Data::Dumper patch
Change 33790 by rgs@scipion on 2008/05/08 15:30:45

	Subject: Data::Dumper patch
	From: Alexandr Ciornii <alexchorny@gmail.com>
	Date: Thu, 8 May 2008 16:35:42 +0300
	Message-ID: <13810622109.20080508163542@gmail.com>
	
	for support on perls < 5.10.0

Affected files ...

... //depot/perl/ext/Data/Dumper/Dumper.xs#75 edit

Differences ...

==== //depot/perl/ext/Data/Dumper/Dumper.xs#75 (text) ====
Index: perl/ext/Data/Dumper/Dumper.xs
--- perl/ext/Data/Dumper/Dumper.xs#74~33052~	2008-01-23 01:51:35.000000000 -0800
+++ perl/ext/Data/Dumper/Dumper.xs	2008-05-08 08:30:45.000000000 -0700
@@ -3,6 +3,7 @@
 #include "perl.h"
 #include "XSUB.h"
 #ifdef USE_PPPORT_H
+#  define NEED_my_snprintf
 #  include "ppport.h"
 #endif
 
@@ -191,7 +192,13 @@
 #endif
                 *r++ = (char)k;
             else {
+#if PERL_VERSION < 10
+                sprintf(r, "\\x{%"UVxf"}", k);
+                r += strlen(r);
+                #my_sprintf is not supported by ppport.h
+#else
                 r = r + my_sprintf(r, "\\x{%"UVxf"}", k);
+#endif
             }
         }
         *r++ = '"';
@@ -552,7 +559,12 @@
 		
 		ilen = inamelen;
 		sv_setiv(ixsv, ix);
+#if PERL_VERSION < 10
+                (void) sprintf(iname+ilen, "%"IVdf, (IV)ix);
+		ilen = strlen(iname);
+#else
                 ilen = ilen + my_sprintf(iname+ilen, "%"IVdf, (IV)ix);
+#endif
 		iname[ilen++] = ']'; iname[ilen] = '\0';
 		if (indent >= 3) {
 		    sv_catsv(retval, totpad);
End of Patch.



Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About