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))) {
# $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