| 9223 | |
| 9224 | |
| 9225 | Udata *luaS_newudata (lua_State *L, size_t s, Table *e) { |
| 9226 | Udata *u; |
| 9227 | if (s > MAX_SIZET - sizeof(Udata)) |
| 9228 | luaM_toobig(L); |
| 9229 | u = cast(Udata *, luaM_malloc(L, s + sizeof(Udata))); |
| 9230 | u->uv.marked = luaC_white(G(L)); /* is not finalized */ |
| 9231 | u->uv.tt = LUA_TUSERDATA; |
| 9232 | u->uv.len = s; |
| 9233 | u->uv.metatable = NULL; |
| 9234 | u->uv.env = e; |
| 9235 | /* chain it on udata list (after main thread) */ |
| 9236 | u->uv.next = G(L)->mainthread->next; |
| 9237 | G(L)->mainthread->next = obj2gco(u); |
| 9238 | return u; |
| 9239 | } |
| 9240 | |
| 9241 | /* |
| 9242 | ** $Id: ltable.c,v 2.32.1.2 2007/12/28 15:32:23 roberto Exp $ |
no test coverage detected