* See comment in more_xiv() -- RAM.
*/
xiv_root = *(IV**)xiv;
- return (XPVIV*)((char*)xiv - sizeof(XPV));
+ return (XPVIV*)((char*)xiv - STRUCT_OFFSET(XPVIV, xiv_iv));
}
return more_xiv();
}
STATIC void
del_xiv(XPVIV *p)
{
- IV* xiv = (IV*)((char*)(p) + sizeof(XPV));
+ IV* xiv = (IV*)((char*)(p) + STRUCT_OFFSET(XPVIV, xiv_iv));
*(IV**)xiv = xiv_root;
xiv_root = xiv;
}
if (xnv_root) {
xnv = xnv_root;
xnv_root = *(double**)xnv;
- return (XPVNV*)((char*)xnv - sizeof(XPVIV));
+ return (XPVNV*)((char*)xnv - STRUCT_OFFSET(XPVNV, xnv_nv));
}
return more_xnv();
}
STATIC void
del_xnv(XPVNV *p)
{
- double* xnv = (double*)((char*)(p) + sizeof(XPVIV));
+ double* xnv = (double*)((char*)(p) + STRUCT_OFFSET(XPVNV, xnv_nv));
*(double**)xnv = xnv_root;
xnv_root = xnv;
}