diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-12-28 22:40:37 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-12-28 22:40:37 +0000 |
commit | f8503592a22431f4f2362d87270e54bfdb2d3177 (patch) | |
tree | 6f191f8e70da41a6f6a1b9e9ef14e5701687424f /pad.h | |
parent | 931b58fb28fa5ca73161678109fa052134ce70b3 (diff) | |
download | perl-f8503592a22431f4f2362d87270e54bfdb2d3177.tar.gz |
With PAD_COMPNAME_GEN in SvUVX, SvCUR is trustworthy once more.
p4raw-id: //depot/perl@29633
Diffstat (limited to 'pad.h')
-rw-r--r-- | pad.h | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -286,15 +286,16 @@ ling pad (lvalue) to C<gen>. Note that C<SvUV_set> is hijacked for this purpose */ -#define PAD_COMPNAME_FLAGS(po) SvFLAGS(*av_fetch(PL_comppad_name, (po), FALSE)) +#define PAD_COMPNAME_SV(po) (*av_fetch(PL_comppad_name, (po), FALSE)) +#define PAD_COMPNAME_FLAGS(po) SvFLAGS(PAD_COMPNAME_SV(po)) #define PAD_COMPNAME_FLAGS_isOUR(po) \ ((PAD_COMPNAME_FLAGS(po) & (SVpad_NAME|SVpad_OUR)) == (SVpad_NAME|SVpad_OUR)) -#define PAD_COMPNAME_PV(po) SvPV_nolen(*av_fetch(PL_comppad_name, (po), FALSE)) +#define PAD_COMPNAME_PV(po) SvPV_nolen(PAD_COMPNAME_SV(po)) #define PAD_COMPNAME_TYPE(po) pad_compname_type(po) #define PAD_COMPNAME_OURSTASH(po) \ - (OURSTASH(*av_fetch(PL_comppad_name, (po), FALSE))) + (OURSTASH(PAD_COMPNAME_SV(po))) #define PAD_COMPNAME_GEN(po) ((STRLEN)SvUVX(AvARRAY(PL_comppad_name)[po])) |