summaryrefslogtreecommitdiffstats
path: root/src/alloc.h
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2023-08-31 10:42:42 -0400
committerTavian Barnes <tavianator@tavianator.com>2023-08-31 10:42:42 -0400
commit1bb2b6ccfc11d4aec61287441379cb6584b8fb5f (patch)
treee0b3be0162d850b76c59284745bc40696e1a7e84 /src/alloc.h
parent345047be5b8766a9763d4a717ff034e4e4083ade (diff)
downloadbfs-1bb2b6ccfc11d4aec61287441379cb6584b8fb5f.tar.xz
alloc: New varena_grow() function
Diffstat (limited to 'src/alloc.h')
-rw-r--r--src/alloc.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/alloc.h b/src/alloc.h
index b5dfa68..5f0c423 100644
--- a/src/alloc.h
+++ b/src/alloc.h
@@ -271,6 +271,20 @@ void *varena_alloc(struct varena *varena, size_t count);
void *varena_realloc(struct varena *varena, void *ptr, size_t old_count, size_t new_count);
/**
+ * Grow a flexible struct by an arbitrary amount.
+ *
+ * @param varena
+ * The varena to allocate from.
+ * @param ptr
+ * The object to resize.
+ * @param count
+ * Pointer to the flexible array length.
+ * @return
+ * The resized struct, or NULL on failure.
+ */
+void *varena_grow(struct varena *varena, void *ptr, size_t *count);
+
+/**
* Free an arena-allocated flexible struct.
*
* @param varena