27 lines
643 B
C++
27 lines
643 B
C++
#include "oilaccess.hpp"
|
|
|
|
const char *OiLAccess::CLASS_REGISTRY = "OiL C++ Classes";
|
|
const char *OiLAccess::OBJECT_REGISTRY = "OiL C++ Objects";
|
|
|
|
int OiLAccess::lua_tableinsert(lua_State *L, int table)
|
|
{
|
|
if (table < 0) table += lua_gettop(L) + 1;
|
|
int index = luaL_getn(L, table);
|
|
lua_rawseti(L, table, ++index);
|
|
luaL_setn(L, table, index);
|
|
return index;
|
|
}
|
|
|
|
void OiLAccess::lua_pushregistry(lua_State *L, const char *name)
|
|
{
|
|
lua_pushstring(L, name);
|
|
lua_rawget(L, LUA_REGISTRYINDEX);
|
|
if (lua_isnil(L, -1)) {
|
|
lua_pop(L, 1);
|
|
lua_newtable(L);
|
|
lua_pushstring(L, name);
|
|
lua_pushvalue(L, -2);
|
|
lua_rawset(L, LUA_REGISTRYINDEX);
|
|
}
|
|
}
|