summaryrefslogtreecommitdiff
path: root/pad.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-12-28 22:40:37 +0000
committerNicholas Clark <nick@ccl4.org>2006-12-28 22:40:37 +0000
commitf8503592a22431f4f2362d87270e54bfdb2d3177 (patch)
tree6f191f8e70da41a6f6a1b9e9ef14e5701687424f /pad.h
parent931b58fb28fa5ca73161678109fa052134ce70b3 (diff)
downloadperl-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.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/pad.h b/pad.h
index 6e06955fb0..81a1312626 100644
--- a/pad.h
+++ b/pad.h
@@ -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]))