new macro 'lua_checkversion' to check whether core and application are

compatible
This commit is contained in:
Roberto Ierusalimschy
2009-02-18 14:20:56 -03:00
parent 81ede6bfce
commit d2ebdc045b
5 changed files with 22 additions and 5 deletions

12
lapi.c
View File

@@ -1,5 +1,5 @@
/*
** $Id: lapi.c,v 2.67 2008/07/04 18:27:11 roberto Exp roberto $
** $Id: lapi.c,v 2.68 2008/08/01 17:01:16 roberto Exp roberto $
** Lua API
** See Copyright Notice in lua.h
*/
@@ -121,6 +121,16 @@ LUA_API lua_CFunction lua_atpanic (lua_State *L, lua_CFunction panicf) {
}
LUA_API void lua_checkversion_ (lua_State *L, int version) {
lua_lock(L);
if (version != LUA_VERSION_NUM)
luaG_runerror(L, "application and Lua core using different Lua versions");
if (G(L)->nilobjp != luaO_nilobject)
luaG_runerror(L, "application using two incompatible Lua VMs");
lua_unlock(L);
}
/*
** basic stack manipulation