From ea084165bf2f414a49a559ddf5921b9073fc464c Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Tue, 25 Jul 2023 00:49:20 +1000 Subject: Optimize entityPortrait: Drawable > LuaTable instead of Drawable > Json > LuaTable --- source/core/StarLua.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'source/core/StarLua.cpp') diff --git a/source/core/StarLua.cpp b/source/core/StarLua.cpp index 901e875..41355b1 100644 --- a/source/core/StarLua.cpp +++ b/source/core/StarLua.cpp @@ -461,7 +461,7 @@ ByteArray LuaEngine::compile(ByteArray const& contents, String const& name) { LuaString LuaEngine::createString(String const& str) { lua_checkstack(m_state, 1); - if (m_nullTerminated) + if (m_nullTerminated > 0) lua_pushstring(m_state, str.utf8Ptr()); else lua_pushlstring(m_state, str.utf8Ptr(), str.utf8Size()); @@ -556,6 +556,10 @@ LuaNullEnforcer LuaEngine::nullTerminate() { return LuaNullEnforcer(*this); } +void LuaEngine::setNullTerminated(bool nullTerminated) { + m_nullTerminated = nullTerminated ? 0 : INT_MIN; +} + LuaEngine* LuaEngine::luaEnginePtr(lua_State* state) { return (*reinterpret_cast(lua_getextraspace(state))); } @@ -723,7 +727,7 @@ char const* LuaEngine::stringPtr(int handleIndex) { } size_t LuaEngine::stringLength(int handleIndex) { - if (m_nullTerminated) + if (m_nullTerminated > 0) return strlen(lua_tostring(m_handleThread, handleIndex)); else { size_t len = 0; @@ -733,7 +737,7 @@ size_t LuaEngine::stringLength(int handleIndex) { } String LuaEngine::string(int handleIndex) { - if (m_nullTerminated) + if (m_nullTerminated > 0) return String(lua_tostring(m_handleThread, handleIndex)); else { size_t len = 0; @@ -743,7 +747,7 @@ String LuaEngine::string(int handleIndex) { } StringView LuaEngine::stringView(int handleIndex) { - if (m_nullTerminated) + if (m_nullTerminated > 0) return StringView(lua_tostring(m_handleThread, handleIndex)); else { size_t len = 0; -- cgit v1.2.3