parser fully reentrant(!)

This commit is contained in:
Roberto Ierusalimschy
2003-08-27 18:01:44 -03:00
parent 885961be1d
commit 8332d5c8a5
10 changed files with 120 additions and 65 deletions

6
lapi.c
View File

@@ -1,5 +1,5 @@
/*
** $Id: lapi.c,v 1.242 2003/08/25 19:51:54 roberto Exp roberto $
** $Id: lapi.c,v 1.243 2003/08/25 20:00:50 roberto Exp roberto $
** Lua API
** See Copyright Notice in lua.h
*/
@@ -715,12 +715,10 @@ LUA_API int lua_load (lua_State *L, lua_Chunkreader reader, void *data,
const char *chunkname) {
ZIO z;
int status;
int c;
lua_lock(L);
if (!chunkname) chunkname = "?";
luaZ_init(L, &z, reader, data);
c = luaZ_lookahead(&z);
status = luaD_protectedparser(L, &z, (c == LUA_SIGNATURE[0]), chunkname);
status = luaD_protectedparser(L, &z, chunkname);
lua_unlock(L);
return status;
}