summaryrefslogtreecommitdiff
path: root/src/scripting/luautil.h
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2013-01-09 11:47:16 +0100
committerThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2013-01-09 11:47:16 +0100
commit562b403a66a6a96d883620b27455564d50e3d49b (patch)
tree44b3f37bef0b44999dce6a1a941f6ff94baaa0e5 /src/scripting/luautil.h
parent2594084de6e163f15a1516d64cf413de5b0d899f (diff)
downloadmanaserv-562b403a66a6a96d883620b27455564d50e3d49b.tar.gz
manaserv-562b403a66a6a96d883620b27455564d50e3d49b.tar.bz2
manaserv-562b403a66a6a96d883620b27455564d50e3d49b.tar.xz
manaserv-562b403a66a6a96d883620b27455564d50e3d49b.zip
Micro-optimizations for pushing strings to Lua
Use lua_pushliteral and lua_pushlstring instead of lua_pushstring, which avoids Lua having to determine the length of the string.
Diffstat (limited to 'src/scripting/luautil.h')
-rw-r--r--src/scripting/luautil.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/scripting/luautil.h b/src/scripting/luautil.h
index 0d2a981d..8e380d4e 100644
--- a/src/scripting/luautil.h
+++ b/src/scripting/luautil.h
@@ -102,7 +102,7 @@ public:
mTypeName = typeName;
luaL_newmetatable(s, mTypeName); // metatable
- lua_pushstring(s, "__index"); // metatable, "__index"
+ lua_pushliteral(s, "__index"); // metatable, "__index"
lua_createtable(s, 0, 0); // metatable, "__index", {}
#if LUA_VERSION_NUM < 502
luaL_register(s, NULL, members);
@@ -197,7 +197,7 @@ inline void push(lua_State *s, int val)
inline void push(lua_State *s, const std::string &val)
{
- lua_pushstring(s, val.c_str());
+ lua_pushlstring(s, val.c_str(), val.length());
}
inline void push(lua_State *s, Entity *val)