diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lua/libraries/luax/luax.h | 14 | ||||
-rw-r--r-- | src/lua/modules/jin.cpp | 9 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/lua/libraries/luax/luax.h b/src/lua/libraries/luax/luax.h index b6b3e80..1c83912 100644 --- a/src/lua/libraries/luax/luax.h +++ b/src/lua/libraries/luax/luax.h @@ -401,6 +401,20 @@ inline void luax_setfieldstrings(lua_State* L, const luax_Str* strs) } } +typedef struct luax_Num +{ + const char* name; + float number; +}; + +inline void luax_setfieldnumbers(lua_State* L, const luax_Num* strs) +{ + for (int i = 0; strs[i].name != 0; ++i) + { + luax_setfieldnumber(L, strs[i].name, strs[i].number); + } +} + typedef luaL_Reg luax_Ref; #endif // #if LUA_VERSION_NUM == 501 diff --git a/src/lua/modules/jin.cpp b/src/lua/modules/jin.cpp index de49846..5e92ce1 100644 --- a/src/lua/modules/jin.cpp +++ b/src/lua/modules/jin.cpp @@ -53,12 +53,16 @@ namespace lua static const luax_Str s[] = { { "version", VERSION }, - { "revision", REVISION_S }, { "author", AUTHOR }, { "codename", CODE_NAME }, { 0, 0 } }; + static const luax_Num n[] = { + { "revision", REVISION }, + { 0, 0 } + }; + /* sub modules */ static const luax_Ref mods[] = { { "core", luaopen_core }, @@ -82,8 +86,9 @@ namespace lua { luax_globaltable(L, MODULE_NAME); - /* register strings */ + /* register values */ luax_setfieldstrings(L, s); + luax_setfieldnumbers(L, n); /* register submodules */ for (int i = 0; mods[i].name; ++i) |