]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Force error if lua_newstate() is used in 64 bit mode.
authorMike Pall <mike>
Sun, 24 Jan 2010 14:50:59 +0000 (15:50 +0100)
committerMike Pall <mike>
Sun, 24 Jan 2010 14:50:59 +0000 (15:50 +0100)
src/lib_aux.c
src/lj_state.c
src/lj_state.h

index 419650a9139edcf8ee12cd73ba6776b35741f531..25a3b5ce2090de42e7d0056dc1900fea3178f6a7 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "lj_obj.h"
 #include "lj_err.h"
+#include "lj_state.h"
 #include "lj_lib.h"
 
 /* -- Module registration ------------------------------------------------- */
@@ -349,8 +350,21 @@ static int panic(lua_State *L)
 
 LUALIB_API lua_State *luaL_newstate(void)
 {
+#if LJ_64
+  lua_State *L = lj_state_newstate(mem_alloc, mem_create());
+#else
   lua_State *L = lua_newstate(mem_alloc, mem_create());
+#endif
   if (L) G(L)->panic = panic;
   return L;
 }
 
+#if LJ_64
+LUA_API lua_State *lua_newstate(lua_Alloc f, void *ud)
+{
+  UNUSED(f); UNUSED(ud);
+  fprintf(stderr, "Must use luaL_newstate() for 64 bit target\n");
+  return NULL;
+}
+#endif
+
index f7f301170478310838c4d7aaf7247c0b29597534..87043dd5f91665f7f6984ae97292d2029903ed55 100644 (file)
@@ -158,7 +158,11 @@ static void close_state(lua_State *L)
   }
 }
 
+#if LJ_64
+lua_State *lj_state_newstate(lua_Alloc f, void *ud)
+#else
 LUA_API lua_State *lua_newstate(lua_Alloc f, void *ud)
+#endif
 {
   GG_State *GG = cast(GG_State *, f(ud, NULL, 0, sizeof(GG_State)));
   lua_State *L = &GG->L;
index 2238be641388b472deef844ad5d90e36e68e6610..cd2f216d58925093f42a1e2db63fe5c48448273f 100644 (file)
@@ -27,5 +27,8 @@ static LJ_AINLINE void lj_state_checkstack(lua_State *L, MSize need)
 
 LJ_FUNC lua_State *lj_state_new(lua_State *L);
 LJ_FUNC void LJ_FASTCALL lj_state_free(global_State *g, lua_State *L);
+#if LJ_64
+LJ_FUNC lua_State *lj_state_newstate(lua_Alloc f, void *ud);
+#endif
 
 #endif