Udata
Udata *u;
union Udata u;
Udata *luaS_newudata (lua_State *L, size_t s, Table *e) {
Udata *u;
if (s > MAX_SIZET - sizeof(Udata))
u = &luaC_newobj(L, LUA_TUSERDATA, sizeof(Udata) + s, NULL, 0)->u;
#define sizeudata(u) (sizeof(union Udata)+(u)->len)
LUAI_FUNC Udata *luaS_newudata (lua_State *L, size_t s, Table *e);