From 6bf23e5cac1e02a0d66771869a1e54b40c883cb7 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sun, 16 Jun 2024 22:07:42 +0300 Subject: [PATCH] add bytearray lua-style appending support --- src/logic/scripting/lua/lua_custom_types.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/logic/scripting/lua/lua_custom_types.cpp b/src/logic/scripting/lua/lua_custom_types.cpp index 03162449..2983e1b1 100644 --- a/src/logic/scripting/lua/lua_custom_types.cpp +++ b/src/logic/scripting/lua/lua_custom_types.cpp @@ -105,11 +105,14 @@ static int l_bytearray_meta_newindex(lua::State* L) { return 0; } auto& data = buffer->data(); - auto index = tointeger(L, 2)-1; - if (static_cast(index) > data.size()) { + auto index = static_cast(tointeger(L, 2)-1); + auto value = tointeger(L, 3); + if (index >= data.size()) { + if (index == data.size()) { + data.push_back(static_cast(value)); + } return 0; } - auto value = tointeger(L, 3); data[index] = static_cast(value); return 0; }