diff options
Diffstat (limited to 'src/lua/modules/jin.cpp')
-rw-r--r-- | src/lua/modules/jin.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/lua/modules/jin.cpp b/src/lua/modules/jin.cpp index a287218..de49846 100644 --- a/src/lua/modules/jin.cpp +++ b/src/lua/modules/jin.cpp @@ -51,16 +51,16 @@ namespace lua return 1; } - static const luaL_Reg f[] = { - { "version", l_getversion }, - { "revision", l_revision }, - { "author", l_getAuthor }, - { "os", l_getOS }, - { 0, 0 } + static const luax_Str s[] = { + { "version", VERSION }, + { "revision", REVISION_S }, + { "author", AUTHOR }, + { "codename", CODE_NAME }, + { 0, 0 } }; - - // submodules - static const luaL_Reg mods[] = { + + /* sub modules */ + static const luax_Ref mods[] = { { "core", luaopen_core }, { "event", luaopen_event }, { "graphics", luaopen_graphics }, @@ -77,15 +77,15 @@ namespace lua { 0, 0 } }; + /* register jin module, keep it on the top of stack */ int luaopen_jin(lua_State* L) { - // jin module is on top of the stack - luax_newlib(L, f); + luax_globaltable(L, MODULE_NAME); - // set to global field - luax_justglobal(L, -1, MODULE_NAME); + /* register strings */ + luax_setfieldstrings(L, s); - // register submodules + /* register submodules */ for (int i = 0; mods[i].name; ++i) { mods[i].func(L); |