diff options
author | Father Chrysostomos <sprout@cpan.org> | 2010-10-25 10:00:47 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2010-10-25 10:45:57 -0700 |
commit | 5cf4b255fd1d34956e94675ed15cb7a406e5b3e8 (patch) | |
tree | 7d63d3bb3202d7ef750268de26eab7ac99d9b0e5 /sv.c | |
parent | ea37b99e78f0d185369ee23611166669880576c6 (diff) | |
download | perl-5cf4b255fd1d34956e94675ed15cb7a406e5b3e8.tar.gz |
[perl #77498] Assignment ignores magick when the RHS holds a glob
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 9 |
1 files changed, 2 insertions, 7 deletions
@@ -3933,22 +3933,17 @@ Perl_sv_setsv_flags(pTHX_ SV *dstr, register SV* sstr, const I32 flags) /* case SVt_BIND: */ case SVt_PVLV: case SVt_PVGV: - if (isGV_with_GP(sstr) && dtype <= SVt_PVLV) { - glob_assign_glob(dstr, sstr, dtype); - return; - } /* SvVALID means that this PVGV is playing at being an FBM. */ - /*FALLTHROUGH*/ case SVt_PVMG: if (SvGMAGICAL(sstr) && (flags & SV_GMAGIC)) { mg_get(sstr); if (SvTYPE(sstr) != stype) stype = SvTYPE(sstr); - if (isGV_with_GP(sstr) && dtype <= SVt_PVLV) { + } + if (isGV_with_GP(sstr) && dtype <= SVt_PVLV) { glob_assign_glob(dstr, sstr, dtype); return; - } } if (stype == SVt_PVLV) SvUPGRADE(dstr, SVt_PVNV); |