#define SVpav_REIFY 0x80000000 /* can become real */
struct xpv {
+ IV xpv_dummy; /* This isn't allocated. */
STRLEN xpv_cur; /* length of sv_pv as a C string */
STRLEN xpv_len; /* allocated size */
};
-struct xpviv {
+#if 0
+typedef struct xpv xpv_allocated;
+#else
+typedef struct {
STRLEN xpv_cur; /* length of sv_pv as a C string */
STRLEN xpv_len; /* allocated size */
+} xpv_allocated;
+#endif
+
+struct xpviv {
IV xiv_iv; /* integer value or pv offset */
+ STRLEN xpv_cur; /* length of sv_pv as a C string */
+ STRLEN xpv_len; /* allocated size */
};
struct xpvuv {
+ UV xuv_uv; /* unsigned value or pv offset */
STRLEN xpv_cur; /* length of sv_pv as a C string */
STRLEN xpv_len; /* allocated size */
- UV xuv_uv; /* unsigned value or pv offset */
};
struct xpvnv {
+ IV xiv_iv; /* integer value or pv offset */
STRLEN xpv_cur; /* length of sv_pv as a C string */
STRLEN xpv_len; /* allocated size */
- IV xiv_iv; /* integer value or pv offset */
union {
- NV xnvu_nv; /* numeric value, if any */
struct {
void *xnv_p1;
union {
IV xnv_i2;
} xnv_u2;
} xnv_s;
+ NV xnvu_nv; /* numeric value, if any */
} xnv_u;
};
/* These structure must match the beginning of struct xpvhv in hv.h. */
struct xpvmg {
+ IV xiv_iv; /* integer value or pv offset */
STRLEN xpv_cur; /* length of sv_pv as a C string */
STRLEN xpv_len; /* allocated size */
- IV xiv_iv; /* integer value or pv offset */
union {
- NV xnvu_nv; /* numeric value, if any */
struct {
void *xnv_p1;
union {
IV xnv_i2;
} xnv_u2;
} xnv_s;
+ NV xnvu_nv; /* numeric value, if any */
} xnv_u;
MAGIC* xmg_magic; /* linked list of magicalness */
HV* xmg_stash; /* class package */
};
struct xpvlv {
+ IV xiv_iv; /* integer value or pv offset */
STRLEN xpv_cur; /* length of sv_pv as a C string */
STRLEN xpv_len; /* allocated size */
- IV xiv_iv; /* integer value or pv offset */
union {
- NV xnvu_nv; /* numeric value, if any */
struct {
void *xnv_p1;
union {
IV xnv_i2;
} xnv_u2;
} xnv_s;
+ NV xnvu_nv; /* numeric value, if any */
} xnv_u;
MAGIC* xmg_magic; /* linked list of magicalness */
HV* xmg_stash; /* class package */
};
struct xpvgv {
+ IV xiv_iv; /* integer value or pv offset */
STRLEN xpv_cur; /* length of sv_pv as a C string */
STRLEN xpv_len; /* allocated size */
- IV xiv_iv; /* integer value or pv offset */
union {
- NV xnvu_nv; /* numeric value, if any */
struct {
void *xnv_p1;
union {
IV xnv_i2;
} xnv_u2;
} xnv_s;
+ NV xnvu_nv; /* numeric value, if any */
} xnv_u;
MAGIC* xmg_magic; /* linked list of magicalness */
HV* xmg_stash; /* class package */
};
struct xpvbm {
+ IV xiv_iv; /* integer value or pv offset */
STRLEN xpv_cur; /* length of sv_pv as a C string */
STRLEN xpv_len; /* allocated size */
- IV xiv_iv; /* integer value or pv offset */
union {
- NV xnvu_nv; /* numeric value, if any */
struct {
void *xnv_p1;
union {
IV xnv_i2;
} xnv_u2;
} xnv_s;
+ NV xnvu_nv; /* numeric value, if any */
} xnv_u;
MAGIC* xmg_magic; /* linked list of magicalness */
HV* xmg_stash; /* class package */
typedef U16 cv_flags_t;
struct xpvfm {
+ IV xiv_iv; /* integer value or pv offset */
STRLEN xpv_cur; /* length of sv_pv as a C string */
STRLEN xpv_len; /* allocated size */
- IV xiv_iv; /* integer value or pv offset */
union {
- NV xnvu_nv; /* numeric value, if any */
struct {
void *xnv_p1;
union {
IV xnv_i2;
} xnv_u2;
} xnv_s;
+ NV xnvu_nv; /* numeric value, if any */
} xnv_u;
MAGIC* xmg_magic; /* linked list of magicalness */
HV* xmg_stash; /* class package */
};
struct xpvio {
+ IV xiv_iv; /* integer value or pv offset */
STRLEN xpv_cur; /* length of sv_pv as a C string */
STRLEN xpv_len; /* allocated size */
- IV xiv_iv; /* integer value or pv offset */
union {
- NV xnvu_nv; /* numeric value, if any */
struct {
void *xnv_p1;
union {
IV xnv_i2;
} xnv_u2;
} xnv_s;
+ NV xnvu_nv; /* numeric value, if any */
} xnv_u;
MAGIC* xmg_magic; /* linked list of magicalness */
HV* xmg_stash; /* class package */
UV flags;
PerlInterpreter *proto_perl;
};
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */