summaryrefslogtreecommitdiff
path: root/src/lstring.c
diff options
context:
space:
mode:
authorLua Team <team@lua.org>2005-03-04 12:00:00 +0000
committerrepogen <>2005-03-04 12:00:00 +0000
commite6ddfd3b09c0a3727afc773029c323a3defe50fa (patch)
tree70e021a2b008f43064eeb04e002a31ba371b5108 /src/lstring.c
parente2493a40ee611d5a718fd2a81fe67e24c04c91a0 (diff)
downloadlua-github-5.1-work5.tar.gz
Lua 5.1-work55.1-work5
Diffstat (limited to 'src/lstring.c')
-rw-r--r--src/lstring.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/lstring.c b/src/lstring.c
index af2c6963..897089a4 100644
--- a/src/lstring.c
+++ b/src/lstring.c
@@ -1,5 +1,5 @@
/*
-** $Id: lstring.c,v 2.5 2004/11/24 19:16:03 roberto Exp $
+** $Id: lstring.c,v 2.7 2005/02/18 12:40:02 roberto Exp $
** String table (keeps all strings handled by Lua)
** See Copyright Notice in lua.h
*/
@@ -93,7 +93,7 @@ TString *luaS_newlstr (lua_State *L, const char *str, size_t l) {
}
-Udata *luaS_newudata (lua_State *L, size_t s) {
+Udata *luaS_newudata (lua_State *L, size_t s, Table *e) {
Udata *u;
if (s > MAX_SIZET - sizeof(Udata))
luaM_toobig(L);
@@ -102,9 +102,10 @@ Udata *luaS_newudata (lua_State *L, size_t s) {
u->uv.tt = LUA_TUSERDATA;
u->uv.len = s;
u->uv.metatable = NULL;
- /* chain it on udata list */
- u->uv.next = G(L)->firstudata->uv.next;
- G(L)->firstudata->uv.next = obj2gco(u);
+ u->uv.env = e;
+ /* chain it on udata list (after main thread) */
+ u->uv.next = G(L)->mainthread->next;
+ G(L)->mainthread->next = obj2gco(u);
return u;
}