diff options
author | Chip Salzenberg <chip@perl.com> | 1997-03-25 03:51:51 +1200 |
---|---|---|
committer | Chip Salzenberg <chip@atlantic.net> | 1997-04-07 00:00:00 +0000 |
commit | 973f89ab54aee31638a55cc8c998627da46e5534 (patch) | |
tree | b1415e70ed7e7586fe4db57e53bd8ec4f598956a | |
parent | fdaee7fccceeabfa3b6031d9b791db38058c1234 (diff) | |
download | perl-973f89ab54aee31638a55cc8c998627da46e5534.tar.gz |
Fix assignment from magic SV that becomes a glob
-rw-r--r-- | sv.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -1925,10 +1925,16 @@ register SV *sstr; /* FALL THROUGH */ default: + if (SvGMAGICAL(sstr)) { + mg_get(sstr); + if (SvTYPE(sstr) != stype) { + stype = SvTYPE(sstr); + if (stype == SVt_PVGV && dtype <= SVt_PVGV) + goto glob_assign; + } + } if (dtype < stype) sv_upgrade(dstr, stype); - if (SvGMAGICAL(sstr)) - mg_get(sstr); } sflags = SvFLAGS(sstr); |