private string ConvertToString(int index, bool callMM = false) { IntPtr c_message; UIntPtr size; if (callMM) { c_message = CApi.luaL_tolstring(lua_State, index, out size); // gets C-string from Lua-stack CApi.lua_settop(lua_State, -2); } else { c_message = CApi.lua_tolstring(lua_State, index, out size); } return(Marshal.PtrToStringAnsi(c_message, (int)size)); }