LUA_TUSERDATA
case LUA_TUSERDATA: return uvalue(o)->len;
case LUA_TUSERDATA: return (rawuvalue(o) + 1);
case LUA_TUSERDATA:
case LUA_TUSERDATA:
case LUA_TUSERDATA: {
case LUA_TUSERDATA: {
case LUA_TUSERDATA: luaM_freemem(L, o, sizeudata(gco2u(o))); break;
#define ttisuserdata(o) checktag((o), ctb(LUA_TUSERDATA))
val_(io).gc=cast(GCObject *, (x)); settt_(io, ctb(LUA_TUSERDATA)); \
#define rawgco2u(o) check_exp((o)->gch.tt == LUA_TUSERDATA, &((o)->u))
u = &luaC_newobj(L, LUA_TUSERDATA, sizeof(Udata) + s, NULL, 0)->u;
case LUA_TUSERDATA:
case LUA_TUSERDATA: {