fix better scale buffer size

This commit is contained in:
nikola 2024-12-02 00:45:09 +01:00
parent c3eaa0875b
commit d77cca5527

View File

@ -41,7 +41,7 @@ bool Buffer::resize(size_t new_size)
uint32_t Buffer::add_end(uint8_t *data, size_t data_size)
{
if (taken + data_size > size)
if (!resize(size + data_size))
if (!resize((size + data_size) * 2))
return -1;
memcpy(buffer + taken, data, data_size);
@ -52,7 +52,7 @@ uint32_t Buffer::add_end(uint8_t *data, size_t data_size)
int Buffer::add_middle(uint8_t *data, size_t data_size, size_t index)
{
if (taken + data_size > size)
if (!resize(size + data_size))
if (!resize((size + data_size) * 2))
return -1;
memmove(buffer + index + data_size, buffer + index, taken - index);
memcpy(buffer + index, data, data_size);