aboutsummaryrefslogtreecommitdiff
path: root/vec.c
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2025-07-21 21:46:41 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2025-07-21 21:46:41 +0200
commit413cb3b0c5c70d60eee212c72afed9b5c659b6d8 (patch)
treea509f8d91cab894cc02929cc1747db78ac8ac841 /vec.c
parenta6e3e5aaf3af1fa05bc54b793f45d66b3e3f4a05 (diff)
refactor: Vec on arena
Diffstat (limited to 'vec.c')
-rw-r--r--vec.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/vec.c b/vec.c
index e9df934..f555885 100644
--- a/vec.c
+++ b/vec.c
@@ -4,10 +4,14 @@
#include "types.h"
#include "vec.h"
-Vec _Vec_new(Arena *a, size tsize, size cap, int align) {
+Vec *_Vec_new(Arena *a, size tsize, size cap, int align) {
assert(cap > 0);
- Vec v = {.size = tsize, .cap = cap, .len = 0, .align = align, .data = 0};
- v.data = alloc(a, cap, tsize, align);
+ Vec *v = new(a, Vec, 1);
+ v->size = tsize;
+ v->cap = cap;
+ v->align = align;
+ v->len = 0;
+ v->data = alloc(a, cap, tsize, align);
return v;
}