summaryrefslogtreecommitdiff
path: root/av.h
diff options
context:
space:
mode:
Diffstat (limited to 'av.h')
-rw-r--r--av.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/av.h b/av.h
index 40f2eb265e..42f5c85587 100644
--- a/av.h
+++ b/av.h
@@ -21,21 +21,16 @@
*/
struct xpvav {
- char * xpv_pv; /* pointer to malloced string */
- STRLEN xpv_cur; /* length of xp_pv as a C string */
- STRLEN xpv_len; /* allocated size */
- STRLEN xof_off; /* ptr is incremented by offset */
+ char * xav_array; /* pointer to malloced string */
+ int xav_fill;
+ int xav_max;
+ int xof_off; /* ptr is incremented by offset */
double xnv_nv; /* numeric value, if any */
MAGIC* xmg_magic; /* magic for scalar array */
HV* xmg_stash; /* class package */
- MAGIC* xav_magic; /* magic for elements */
-
- SV** xav_array;
SV** xav_alloc;
SV* xav_arylen;
- I32 xav_max;
- I32 xav_fill;
U8 xav_flags;
};
@@ -43,8 +38,7 @@ struct xpvav {
#define Nullav Null(AV*)
-#define AvMAGIC(av) ((XPVAV*) SvANY(av))->xav_magic
-#define AvARRAY(av) ((XPVAV*) SvANY(av))->xav_array
+#define AvARRAY(av) ((SV**)((XPVAV*) SvANY(av))->xav_array)
#define AvALLOC(av) ((XPVAV*) SvANY(av))->xav_alloc
#define AvMAX(av) ((XPVAV*) SvANY(av))->xav_max
#define AvFILL(av) ((XPVAV*) SvANY(av))->xav_fill