From 3e020df5bba4b6ec0679d434d7a1d016fedd0150 Mon Sep 17 00:00:00 2001 From: Father Chrysostomos Date: Thu, 27 Nov 2014 22:14:39 -0800 Subject: [PATCH] Use PADNAME rather than SV in pad.c:padlist_dup --- pad.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pad.c b/pad.c index 39ed08e55ce9..6bcf665777a7 100644 --- a/pad.c +++ b/pad.c @@ -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 */