summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/CORE/av.h
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/CORE/av.h')
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/av.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/Master/tlpkg/tlperl/lib/CORE/av.h b/Master/tlpkg/tlperl/lib/CORE/av.h
index f8c9d1bdc24..de54fa92826 100644
--- a/Master/tlpkg/tlperl/lib/CORE/av.h
+++ b/Master/tlpkg/tlperl/lib/CORE/av.h
@@ -9,14 +9,13 @@
*/
struct xpvav {
- union _xnvu xnv_u;
+ HV* xmg_stash; /* class package */
+ union _xmgu xmg_u;
SSize_t xav_fill; /* Index of last element present */
SSize_t xav_max; /* max index for which array has space */
- _XPVMG_HEAD;
+ SV** xav_alloc; /* pointer to beginning of C array of SVs */
};
-/* SV** xav_alloc; */
-#define xav_alloc xiv_u.xivu_p1
/* SV* xav_arylen; */
/* SVpav_REAL is set for all AVs whose xav_array contents are refcounted.
@@ -29,7 +28,7 @@ struct xpvav {
* real if the array needs to be modified in some way. Functions that
* modify fake AVs check both flags to call av_reify() as appropriate.
*
- * Note that the Perl stack and @DB::args have neither flag set. (Thus,
+ * Note that the Perl stack has neither flag set. (Thus,
* items that go on the stack are never refcounted.)
*
* These internal details are subject to change any time. AV
@@ -58,7 +57,7 @@ Same as C<av_len()>. Deprecated, use C<av_len()> instead.
#endif
#define AvARRAY(av) ((av)->sv_u.svu_array)
-#define AvALLOC(av) (*((SV***)&((XPVAV*) SvANY(av))->xav_alloc))
+#define AvALLOC(av) ((XPVAV*) SvANY(av))->xav_alloc
#define AvMAX(av) ((XPVAV*) SvANY(av))->xav_max
#define AvFILLp(av) ((XPVAV*) SvANY(av))->xav_fill
#define AvARYLEN(av) (*Perl_av_arylen_p(aTHX_ MUTABLE_AV(av)))