| 122 | |
| 123 | |
| 124 | Udata *luaS_newudata (lua_State *L, size_t s, Table *e) { |
| 125 | Udata *u; |
| 126 | if (s > MAX_SIZET - sizeof(Udata)) |
| 127 | luaM_toobig(L); |
| 128 | u = cast(Udata *, luaM_malloc(L, s + sizeof(Udata))); |
| 129 | u->uv.marked = luaC_white(G(L)); /* is not finalized */ |
| 130 | u->uv.tt = LUA_TUSERDATA; |
| 131 | u->uv.len = s; |
| 132 | u->uv.metatable = NULL; |
| 133 | u->uv.env = e; |
| 134 | u->uv.extra = NULL; |
| 135 | /* chain it on udata list (after main thread) */ |
| 136 | u->uv.next = G(L)->mainthread->next; |
| 137 | G(L)->mainthread->next = obj2gco(u); |
| 138 | return u; |
| 139 | } |
| 140 |
no test coverage detected