diff options
author | Lejo <Lejo_1@web.de> | 2021-11-26 19:31:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-26 19:31:05 +0100 |
commit | b9051386ae296a6112383725bc8bfcd96dc9a226 (patch) | |
tree | e3dbb8998a73e19b6b0bc6c24d7d9f3515ed6ea2 /src/script | |
parent | 7a1464d783742512fdc6e0a083ffadd0ce63c1b4 (diff) | |
download | minetest-b9051386ae296a6112383725bc8bfcd96dc9a226.tar.gz minetest-b9051386ae296a6112383725bc8bfcd96dc9a226.tar.bz2 minetest-b9051386ae296a6112383725bc8bfcd96dc9a226.zip |
Add Lua bitop library (#9847)
Diffstat (limited to 'src/script')
-rw-r--r-- | src/script/cpp_api/s_base.cpp | 7 | ||||
-rw-r--r-- | src/script/cpp_api/s_security.cpp | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/script/cpp_api/s_base.cpp b/src/script/cpp_api/s_base.cpp index 921f713c0..f7b8a5102 100644 --- a/src/script/cpp_api/s_base.cpp +++ b/src/script/cpp_api/s_base.cpp @@ -37,6 +37,8 @@ extern "C" { #include "lualib.h" #if USE_LUAJIT #include "luajit.h" +#else + #include "bit.h" #endif } @@ -88,6 +90,11 @@ ScriptApiBase::ScriptApiBase(ScriptingType type): else luaL_openlibs(m_luastack); + // Load bit library + lua_pushcfunction(m_luastack, luaopen_bit); + lua_pushstring(m_luastack, LUA_BITLIBNAME); + lua_call(m_luastack, 1, 0); + // Make the ScriptApiBase* accessible to ModApiBase #if INDIRECT_SCRIPTAPI_RIDX *(void **)(lua_newuserdata(m_luastack, sizeof(void *))) = this; diff --git a/src/script/cpp_api/s_security.cpp b/src/script/cpp_api/s_security.cpp index 580042ec2..5faf8cc80 100644 --- a/src/script/cpp_api/s_security.cpp +++ b/src/script/cpp_api/s_security.cpp @@ -106,6 +106,7 @@ void ScriptApiSecurity::initializeSecurity() "string", "table", "math", + "bit" }; static const char *io_whitelist[] = { "close", @@ -298,6 +299,7 @@ void ScriptApiSecurity::initializeSecurityClient() "string", "table", "math", + "bit", }; static const char *os_whitelist[] = { "clock", @@ -834,4 +836,3 @@ int ScriptApiSecurity::sl_os_remove(lua_State *L) lua_call(L, 1, 2); return 2; } - |