diff options
author | Father Chrysostomos <sprout@cpan.org> | 2014-11-27 22:14:39 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-11-30 11:48:41 -0800 |
commit | 3e020df5bba4b6ec0679d434d7a1d016fedd0150 (patch) | |
tree | 03a17841b0f45b1e5bf22c28ccda4860a0c9a815 /pad.c | |
parent | a2ddd1d1c6155a3fca85c109c04d2c5bbedce836 (diff) | |
download | perl-3e020df5bba4b6ec0679d434d7a1d016fedd0150.tar.gz |
Use PADNAME rather than SV in pad.c:padlist_dup
Diffstat (limited to 'pad.c')
-rw-r--r-- | pad.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -2465,7 +2465,7 @@ Perl_padlist_dup(pTHX_ PADLIST *srcpad, CLONE_PARAMS *param) const I32 names_fill = PadnamelistMAX(PadlistNAMES(srcpad)); const PAD *const srcpad1 = PadlistARRAY(srcpad)[1]; SV **oldpad = AvARRAY(srcpad1); - SV ** const names = PadnamelistARRAY(PadlistNAMES(dstpad)); + PADNAME ** const names = PadnamelistARRAY(PadlistNAMES(dstpad)); SV **pad1a; AV *args; @@ -2483,9 +2483,9 @@ Perl_padlist_dup(pTHX_ PADLIST *srcpad, CLONE_PARAMS *param) pad1a[ix] = NULL; } else if (names_fill >= ix && names[ix] && PadnameLEN(names[ix])) { - const char sigil = SvPVX_const(names[ix])[0]; - if ((SvFLAGS(names[ix]) & SVf_FAKE) - || (SvFLAGS(names[ix]) & SVpad_STATE) + const char sigil = PadnamePV(names[ix])[0]; + if (PadnameOUTER(names[ix]) + || PadnameIsSTATE(names[ix]) || sigil == '&') { /* outer lexical or anon code */ |