From 6c5f6ecd47bf492949f4345a04958d157d331057 Mon Sep 17 00:00:00 2001 From: Daniel Hammer Date: Fri, 7 Mar 2025 23:51:39 +0100 Subject: [PATCH] fix(kcp): Various kcp fixes --- .../src/{Cpp/CppSupport.cpp => CppLib/Alloc.cpp} | 1 + kernel/src/CppLib/Vector.hpp | 14 +++++--------- 2 files changed, 6 insertions(+), 9 deletions(-) rename kernel/src/{Cpp/CppSupport.cpp => CppLib/Alloc.cpp} (94%) diff --git a/kernel/src/Cpp/CppSupport.cpp b/kernel/src/CppLib/Alloc.cpp similarity index 94% rename from kernel/src/Cpp/CppSupport.cpp rename to kernel/src/CppLib/Alloc.cpp index 1147856..82fbfb6 100644 --- a/kernel/src/Cpp/CppSupport.cpp +++ b/kernel/src/CppLib/Alloc.cpp @@ -1,4 +1,5 @@ /* + * Alloc.cpp * C++ new/delete operator * Copyright (c) 2025 Daniel Hammer */ diff --git a/kernel/src/CppLib/Vector.hpp b/kernel/src/CppLib/Vector.hpp index cfd438b..56e7fab 100644 --- a/kernel/src/CppLib/Vector.hpp +++ b/kernel/src/CppLib/Vector.hpp @@ -24,9 +24,9 @@ namespace kcp array = nullptr; } - T operator[](std::int64_t position) + T operator[](std::size_t position) { - if (position > (sz + 1)) { + if (position > (sz - 1)) { kerr << "Vector out of bounds caught!" << Kt::newline; return T{}; } @@ -41,17 +41,13 @@ namespace kcp } void push_back(T value) { - array = (T *)Memory::g_allocator->Realloc(array, sz + 1); + array = (T *)Memory::g_allocator->Realloc(array, sizeof(T) * (sz + 1)); array[sz++] = value; } - void test() { - array = (T *)Memory::g_allocator->Realloc(array, sz + 1); - } - - T& get_array() + T* get_array() { - return *array; + return array; } }; }; \ No newline at end of file