|
9 | 9 | */
|
10 | 10 |
|
11 | 11 | struct xpvav {
|
12 |
| - HV* xmg_stash; /* class package */ |
13 |
| - union _xmgu xmg_u; |
14 |
| - SSize_t xav_fill; /* Index of last element present */ |
15 |
| - SSize_t xav_max; /* max index for which array has space */ |
16 |
| - SV** xav_alloc; /* pointer to beginning of C array of SVs */ |
| 12 | + HV* xmg_stash; /* class package */ |
| 13 | + union _xmgu xmg_u; |
| 14 | + SSize_t xav_fill; /* Index of last element present */ |
| 15 | + SSize_t xav_max; /* max index for which array has space */ |
| 16 | + SV** xav_alloc; /* pointer to beginning of C array of SVs */ |
17 | 17 | };
|
18 | 18 |
|
19 |
| -/* SV* xav_arylen; */ |
| 19 | +/* SV* xav_arylen; */ |
20 | 20 |
|
21 | 21 | /* SVpav_REAL is set for all AVs whose xav_array contents are refcounted
|
22 | 22 | * and initialized such that any element can be retrieved as a SV*.
|
@@ -75,25 +75,25 @@ If all you need is to look up an array element, then prefer C<av_fetch>.
|
75 | 75 | # define Nullav Null(AV*)
|
76 | 76 | #endif
|
77 | 77 |
|
78 |
| -#define AvARRAY(av) ((av)->sv_u.svu_array) |
79 |
| -#define AvALLOC(av) ((XPVAV*) SvANY(av))->xav_alloc |
80 |
| -#define AvMAX(av) ((XPVAV*) SvANY(av))->xav_max |
81 |
| -#define AvFILLp(av) ((XPVAV*) SvANY(av))->xav_fill |
82 |
| -#define AvARYLEN(av) (*Perl_av_arylen_p(aTHX_ MUTABLE_AV(av))) |
83 |
| - |
84 |
| -#define AvREAL(av) (SvFLAGS(av) & SVpav_REAL) |
85 |
| -#define AvREAL_on(av) (SvFLAGS(av) |= SVpav_REAL) |
86 |
| -#define AvREAL_off(av) (SvFLAGS(av) &= ~SVpav_REAL) |
87 |
| -#define AvREAL_only(av) (AvREIFY_off(av), SvFLAGS(av) |= SVpav_REAL) |
88 |
| -#define AvREIFY(av) (SvFLAGS(av) & SVpav_REIFY) |
89 |
| -#define AvREIFY_on(av) (SvFLAGS(av) |= SVpav_REIFY) |
90 |
| -#define AvREIFY_off(av) (SvFLAGS(av) &= ~SVpav_REIFY) |
91 |
| -#define AvREIFY_only(av) (AvREAL_off(av), SvFLAGS(av) |= SVpav_REIFY) |
92 |
| - |
93 |
| - |
94 |
| -#define AvREALISH(av) (SvFLAGS(av) & (SVpav_REAL|SVpav_REIFY)) |
95 |
| - |
96 |
| -#define AvFILL(av) ((SvRMAGICAL((const SV *) (av))) \ |
| 78 | +#define AvARRAY(av) ((av)->sv_u.svu_array) |
| 79 | +#define AvALLOC(av) ((XPVAV*) SvANY(av))->xav_alloc |
| 80 | +#define AvMAX(av) ((XPVAV*) SvANY(av))->xav_max |
| 81 | +#define AvFILLp(av) ((XPVAV*) SvANY(av))->xav_fill |
| 82 | +#define AvARYLEN(av) (*Perl_av_arylen_p(aTHX_ MUTABLE_AV(av))) |
| 83 | + |
| 84 | +#define AvREAL(av) (SvFLAGS(av) & SVpav_REAL) |
| 85 | +#define AvREAL_on(av) (SvFLAGS(av) |= SVpav_REAL) |
| 86 | +#define AvREAL_off(av) (SvFLAGS(av) &= ~SVpav_REAL) |
| 87 | +#define AvREAL_only(av) (AvREIFY_off(av), SvFLAGS(av) |= SVpav_REAL) |
| 88 | +#define AvREIFY(av) (SvFLAGS(av) & SVpav_REIFY) |
| 89 | +#define AvREIFY_on(av) (SvFLAGS(av) |= SVpav_REIFY) |
| 90 | +#define AvREIFY_off(av) (SvFLAGS(av) &= ~SVpav_REIFY) |
| 91 | +#define AvREIFY_only(av) (AvREAL_off(av), SvFLAGS(av) |= SVpav_REIFY) |
| 92 | + |
| 93 | + |
| 94 | +#define AvREALISH(av) (SvFLAGS(av) & (SVpav_REAL|SVpav_REIFY)) |
| 95 | + |
| 96 | +#define AvFILL(av) ((SvRMAGICAL((const SV *) (av))) \ |
97 | 97 | ? mg_size(MUTABLE_SV(av)) : AvFILLp(av))
|
98 | 98 | #define av_top_index(av) AvFILL(av)
|
99 | 99 | #define av_tindex(av) av_top_index(av)
|
@@ -209,7 +209,7 @@ to fit one element without extending:
|
209 | 209 |
|
210 | 210 | */
|
211 | 211 |
|
212 |
| -#define newAV() MUTABLE_AV(newSV_type(SVt_PVAV)) |
| 212 | +#define newAV() MUTABLE_AV(newSV_type(SVt_PVAV)) |
213 | 213 | #define newAV_alloc_x(size) av_new_alloc(size,0)
|
214 | 214 | #define newAV_alloc_xz(size) av_new_alloc(size,1)
|
215 | 215 |
|
|
0 commit comments