From b3f509eeecbf49e42b86257745e7a376c257d031 Mon Sep 17 00:00:00 2001
From: "Sven M. Hallberg" <pesco@khjk.org>
Date: Fri, 23 Sep 2022 16:46:57 +0200
Subject: [PATCH] add h_realloc to go with h_alloc

---
 src/allocator.c | 7 +++++++
 src/allocator.h | 1 +
 2 files changed, 8 insertions(+)

diff --git a/src/allocator.c b/src/allocator.c
index 6d1c6864..b4dd94f3 100644
--- a/src/allocator.c
+++ b/src/allocator.c
@@ -65,6 +65,13 @@ void* h_alloc(HAllocator* mm__, size_t size) {
   return p;
 }
 
+void* h_realloc(HAllocator* mm__, void* ptr, size_t size) {
+  void *p = mm__->realloc(mm__, ptr, size);
+  if(!p)
+    h_platform_errx(1, "memory reallocation failed (%zuB requested)\n", size);
+  return p;
+}
+
 HArena *h_new_arena(HAllocator* mm__, size_t block_size) {
   if (block_size == 0)
     block_size = 4096;
diff --git a/src/allocator.h b/src/allocator.h
index 8ebde723..f98ec899 100644
--- a/src/allocator.h
+++ b/src/allocator.h
@@ -48,6 +48,7 @@ typedef struct HAllocator_ {
 } HAllocator;
 
 void* h_alloc(HAllocator* allocator, size_t size) ATTR_MALLOC(2);
+void* h_realloc(HAllocator* allocator, void* ptr, size_t size);
 
 typedef struct HArena_ HArena ; // hidden implementation
 
-- 
GitLab