Re: [PATCH] Do not install change logs, READMEs, etc...
[p5sagit/p5-mst-13.2.git] / av.h
diff --git a/av.h b/av.h
index f9721d9..f377ea9 100644 (file)
--- a/av.h
+++ b/av.h
@@ -13,7 +13,6 @@ struct xpvav {
     SSize_t    xav_fill;       /* Index of last element present */
     SSize_t    xav_max;        /* max index for which array has space */
     union {
-       NV      xnvu_nv;
        struct {
            void *xnv_p1;       /* pointer to beginning of C array of SVs */
            union {
@@ -21,11 +20,33 @@ struct xpvav {
                IV xnv_i2;
            }   xnv_u2;
        }       xnv_s;
+       NV      xnvu_nv;
     }          xnv_u;
     MAGIC*     xmg_magic;      /* magic for scalar array */
     HV*                xmg_stash;      /* class package */
 };
 
+#if !defined(PERL_EXPERIMENTAL_LAYOUT)
+typedef struct xpvav xpvav_allocated;
+#else
+typedef struct {
+    SSize_t    xav_fill;       /* Index of last element present */
+    SSize_t    xav_max;        /* max index for which array has space */
+    union {
+       NV      xnvu_nv;
+       struct {
+           void *xnv_p1;       /* pointer to beginning of C array of SVs */
+           union {
+               void *xnv_p2;
+               IV xnv_i2;
+           }   xnv_u2;
+       }       xnv_s;
+    }          xnv_u;
+    MAGIC*     xmg_magic;      /* magic for scalar array */
+    HV*                xmg_stash;      /* class package */
+} xpvav_allocated;
+#endif
+
 /* SV**        xav_alloc; */
 #define xav_alloc xnv_u.xnv_s.xnv_p1
 /* SV* xav_arylen; */
@@ -65,7 +86,7 @@ Same as C<av_len()>.  Deprecated, use C<av_len()> instead.
 
 #define Nullav Null(AV*)
 
-#define AvARRAY(av)    ((av)->sv_u.sv_array)
+#define AvARRAY(av)    ((av)->sv_u.svu_array)
 #define AvALLOC(av)    (*((SV***)&((XPVAV*)  SvANY(av))->xav_alloc))
 #define AvMAX(av)      ((XPVAV*)  SvANY(av))->xav_max
 #define AvFILLp(av)    ((XPVAV*)  SvANY(av))->xav_fill