summaryrefslogtreecommitdiff
path: root/src/alloc.c
diff options
context:
space:
mode:
authordaan <daanl@outlook.com>2019-09-03 10:57:39 -0700
committerdaan <daanl@outlook.com>2019-09-03 10:57:39 -0700
commita6a956c5890c3037f261a84d9f2d2bbbb70fc308 (patch)
tree2452188424e2c010afc437c0f6d0d7a224c97776 /src/alloc.c
parent7a9136810823182054764790232a571e3f26126f (diff)
add back zero initialized re-allocation
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c
index d838717..9d50bf9 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -426,6 +426,17 @@ void* mi_heap_reallocf(mi_heap_t* heap, void* p, size_t newsize) mi_attr_noexcep
return newp;
}
+void* mi_heap_rezalloc(mi_heap_t* heap, void* p, size_t newsize) mi_attr_noexcept {
+ return _mi_heap_realloc_zero(heap, p, newsize, true);
+}
+
+void* mi_heap_recalloc(mi_heap_t* heap, void* p, size_t count, size_t size) mi_attr_noexcept {
+ size_t total;
+ if (mi_mul_overflow(count, size, &total)) return NULL;
+ return mi_heap_rezalloc(heap, p, total);
+}
+
+
void* mi_realloc(void* p, size_t newsize) mi_attr_noexcept {
return mi_heap_realloc(mi_get_default_heap(),p,newsize);
}
@@ -439,6 +450,16 @@ void* mi_reallocf(void* p, size_t newsize) mi_attr_noexcept {
return mi_heap_reallocf(mi_get_default_heap(),p,newsize);
}
+void* mi_rezalloc(void* p, size_t newsize) mi_attr_noexcept {
+ return mi_heap_rezalloc(mi_get_default_heap(), p, newsize);
+}
+
+void* mi_recalloc(void* p, size_t count, size_t size) mi_attr_noexcept {
+ return mi_heap_recalloc(mi_get_default_heap(), p, count, size);
+}
+
+
+
// ------------------------------------------------------
// strdup, strndup, and realpath
// ------------------------------------------------------