15 lines
414 B
Diff
15 lines
414 B
Diff
|
--- lua-5.1.4.orig/src/llex.c 2007/12/28 15:32:23 2.63.1.3
|
||
|
+++ lua-5.1.4/src/llex.c 2010/02/23 12:36:59
|
||
|
@@ -118,8 +118,10 @@
|
||
|
lua_State *L = ls->L;
|
||
|
TString *ts = luaS_newlstr(L, str, l);
|
||
|
TValue *o = luaH_setstr(L, ls->fs->h, ts); /* entry for `str' */
|
||
|
- if (ttisnil(o))
|
||
|
+ if (ttisnil(o)) {
|
||
|
setbvalue(o, 1); /* make sure `str' will not be collected */
|
||
|
+ luaC_checkGC(L);
|
||
|
+ }
|
||
|
return ts;
|
||
|
}
|
||
|
|