(*({GV *const yaah = (GV *) gv; \
assert(SvTYPE(yaah) == SVt_PVGV || SvTYPE(yaah) == SVt_PVLV); \
assert(isGV_with_GP(yaah)); \
- &(GvXPVGV(yaah)->xgv_flags);}))
+ &(GvXPVGV(yaah)->xpv_cur);}))
# define GvSTASH(gv) \
(*({ GV *_gv = (GV *) gv; \
assert(isGV_with_GP(_gv)); \
}))
#else
# define GvGP(gv) ((gv)->sv_u.svu_gp)
-# define GvFLAGS(gv) (GvXPVGV(gv)->xgv_flags)
+# define GvFLAGS(gv) (GvXPVGV(gv)->xpv_cur)
# define GvSTASH(gv) (GvXPVGV(gv)->xnv_u.xgv_stash)
# define GvNAME(gv) (GvXPVGV(gv)->xgv_name)
# define GvNAMELEN(gv) (GvXPVGV(gv)->xgv_namelen)
/* a full glob fits into this */
char* xgv_name;
STRLEN xgv_namelen;
- U8 xgv_flags;
STRLEN xlv_targoff;
STRLEN xlv_targlen;
NV xnv_nv;
HV * xgv_stash; /* The stash of this GV */
} xnv_u;
- STRLEN xpv_cur; /* length of svu_pv as a C string */
- STRLEN xpv_len; /* allocated size */
+ STRLEN xpv_cur; /* xgv_flags */
+ STRLEN xpv_len; /* 0 */
union {
IV xivu_iv; /* integer value or pv offset */
UV xivu_uv;
char* xgv_name;
STRLEN xgv_namelen;
- U8 xgv_flags;
};
struct xpvbm {