summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2005-06-21 09:40:46 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2005-06-21 09:40:46 +0000
commitd20128b88ca5cf7adb19e1f3382c9bfe14caba98 (patch)
treeee23efe2e1b386b84533ba8a92941d29eb23fa7a
parent7af36d83c0adcbdfcd87806abf6e33bf0c9a61db (diff)
downloadperl-d20128b88ca5cf7adb19e1f3382c9bfe14caba98.tar.gz
Fix [perl #36102] Data::Dumper Doesn't Stringify Numeric Labels
p4raw-id: //depot/perl@24917
-rw-r--r--ext/Data/Dumper/Dumper.pm2
-rw-r--r--ext/Data/Dumper/Dumper.xs7
-rwxr-xr-xext/Data/Dumper/t/dumper.t6
3 files changed, 9 insertions, 6 deletions
diff --git a/ext/Data/Dumper/Dumper.pm b/ext/Data/Dumper/Dumper.pm
index 3d297c338a..ef4da8a7eb 100644
--- a/ext/Data/Dumper/Dumper.pm
+++ b/ext/Data/Dumper/Dumper.pm
@@ -9,7 +9,7 @@
package Data::Dumper;
-$VERSION = '2.121_06';
+$VERSION = '2.121_07';
#$| = 1;
diff --git a/ext/Data/Dumper/Dumper.xs b/ext/Data/Dumper/Dumper.xs
index 9fec64dd17..3db74ae3e1 100644
--- a/ext/Data/Dumper/Dumper.xs
+++ b/ext/Data/Dumper/Dumper.xs
@@ -1041,12 +1041,15 @@ Data_Dumper_Dumpxs(href, ...)
val = *svp;
else
val = &PL_sv_undef;
- if ((svp = av_fetch(namesav, i, TRUE)))
+ if ((svp = av_fetch(namesav, i, TRUE))) {
sv_setsv(name, *svp);
+ if (SvOK(*svp) && !SvPOK(*svp))
+ (void)SvPV_nolen_const(name);
+ }
else
(void)SvOK_off(name);
- if (SvOK(name)) {
+ if (SvPOK(name)) {
if ((SvPVX_const(name))[0] == '*') {
if (SvROK(val)) {
switch (SvTYPE(SvRV(val))) {
diff --git a/ext/Data/Dumper/t/dumper.t b/ext/Data/Dumper/t/dumper.t
index 35b97b2c3e..8ab5f1ddcc 100755
--- a/ext/Data/Dumper/t/dumper.t
+++ b/ext/Data/Dumper/t/dumper.t
@@ -115,11 +115,11 @@ $WANT = <<'EOT';
# $a->[1]{'c'}
# ];
#$b = $a->[1];
-#$c = $a->[1]{'c'};
+#$6 = $a->[1]{'c'};
EOT
-TEST q(Data::Dumper->Dump([$a,$b,$c], [qw(a b c)]));
-TEST q(Data::Dumper->Dumpxs([$a,$b,$c], [qw(a b c)])) if $XS;
+TEST q(Data::Dumper->Dump([$a,$b,$c], [qw(a b), 6]));
+TEST q(Data::Dumper->Dumpxs([$a,$b,$c], [qw(a b), 6])) if $XS;
############# 7