summaryrefslogtreecommitdiff
path: root/src/dynamic-array.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2023-10-13 12:02:00 -0400
committerJonathan Bradley <jcb@pikum.xyz>2023-10-13 12:02:00 -0400
commit5e67008bc6039c593af4930b3a39242c6fc48355 (patch)
tree6c0d62ca2f11a81a990ca55648f8bbf8523a65e7 /src/dynamic-array.cpp
parentfb5c06777557fc28c0d8e919d9a82bdf51adeea7 (diff)
DynArray can specify MemBucket in constructor
Diffstat (limited to 'src/dynamic-array.cpp')
-rw-r--r--src/dynamic-array.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/dynamic-array.cpp b/src/dynamic-array.cpp
index ed181f7..7dd15eb 100644
--- a/src/dynamic-array.cpp
+++ b/src/dynamic-array.cpp
@@ -4,10 +4,11 @@
void DynArrayReserve(DynArrayBase *arr, int64_t count) {
assert(count != 0);
if (arr->reservedCount >= count) return;
- char *a = Pke_New<char>(arr->elementSize * count);
+ char *a = nullptr;
+ a = Pke_New<char>(arr->elementSize * count, arr->bkt);
if (arr->ptr != nullptr) {
std::memcpy(a, arr->ptr, arr->elementSize * arr->reservedCount);
- Pke_Delete<char>(arr->ptr, arr->elementSize * arr->reservedCount);
+ Pke_Delete<char>(arr->ptr, arr->elementSize * arr->reservedCount, arr->bkt);
}
arr->reservedCount = count;
arr->ptr = a;
@@ -17,7 +18,7 @@ void DynArrayDestroy(DynArrayBase *arr) {
if (arr->ptr == nullptr) return;
if (arr->ptr == CAFE_BABE(char)) return;
if (arr->reservedCount > 0)
- Pke_Delete<char>(arr->ptr, arr->elementSize * arr->reservedCount);
+ Pke_Delete<char>(arr->ptr, arr->elementSize * arr->reservedCount, arr->bkt);
arr->ptr = CAFE_BABE(char);
}