From a0e562ee5a1902f5f5b81f613745f9df419b19f6 Mon Sep 17 00:00:00 2001 From: Uladzislau Nikalayevich Date: Wed, 17 Jan 2024 01:38:20 +0300 Subject: [PATCH] Fix small overhead in argument parser for strings --- Shared/mods/deathmatch/logic/lua/LuaBasic.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Shared/mods/deathmatch/logic/lua/LuaBasic.cpp b/Shared/mods/deathmatch/logic/lua/LuaBasic.cpp index 9dbc467be4..bdd69d61f7 100644 --- a/Shared/mods/deathmatch/logic/lua/LuaBasic.cpp +++ b/Shared/mods/deathmatch/logic/lua/LuaBasic.cpp @@ -15,17 +15,19 @@ namespace lua template <> std::string PopPrimitive(lua_State* L, int& index) { - uint uiLength = lua_strlen(L, index); + size_t uiLength; + const char* str = lua_tolstring(L, index++, &uiLength); std::string outValue; - outValue.assign(lua_tostring(L, index++), uiLength); + outValue.assign(str, uiLength); return outValue; } template <> std::string_view PopPrimitive(lua_State* L, int& index) { - uint uiLength = lua_strlen(L, index); - std::string_view outValue(lua_tostring(L, index++), uiLength); + size_t uiLength; + const char* str = lua_tolstring(L, index++, &uiLength); + std::string_view outValue(str, uiLength); return outValue; }