diff options
author | Father Chrysostomos <sprout@cpan.org> | 2012-04-08 20:25:52 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2012-04-19 20:09:11 -0700 |
commit | 6379d4a9afb32e86e55704579c9ac81237309672 (patch) | |
tree | 885d2dca15b39a4dc91bf9b5bbd3ac8609eea01d /gv.c | |
parent | 862504fb08ed24a37a327d325e83ceac76cf05cf (diff) | |
download | perl-6379d4a9afb32e86e55704579c9ac81237309672.tar.gz |
[perl #112316] Make strict vars respect assignment from null pkg
Under threads, strict vars was not respecting glob assignment from a
package with a null in its name if the name of the package assigned to
was equal to the prefix of the current package up to the null.
Diffstat (limited to 'gv.c')
-rw-r--r-- | gv.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -911,8 +911,10 @@ S_gv_get_super_pkg(pTHX_ const char* name, I32 namelen, U32 flags) sv_magic(MUTABLE_SV(superisa), MUTABLE_SV(gv), PERL_MAGIC_isa, NULL, 0); #ifdef USE_ITHREADS av_push(superisa, newSVpvn_flags(CopSTASHPV(PL_curcop), - strlen(CopSTASHPV(PL_curcop)), - CopSTASH_flags(PL_curcop) + CopSTASH_len(PL_curcop) < 0 + ? -CopSTASH_len(PL_curcop) + : CopSTASH_len(PL_curcop), + SVf_UTF8*(CopSTASH_len(PL_curcop) < 0) )); #else av_push(superisa, newSVhek(CopSTASH(PL_curcop) |