From 2a87f8e14462e3b8851e518388d7c31ec3ef6e55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20M=C3=A5rdbrink?= Date: Sat, 19 Apr 2025 19:17:49 +0200 Subject: [PATCH] Add set function for dyn arr --- include/htd/data_structure/dynamic_array.h | 2 ++ src/data_structure/dynamic_array.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/include/htd/data_structure/dynamic_array.h b/include/htd/data_structure/dynamic_array.h index ff5d4a5..6af9a43 100644 --- a/include/htd/data_structure/dynamic_array.h +++ b/include/htd/data_structure/dynamic_array.h @@ -15,6 +15,8 @@ void dynarr_init(DynamicArray* arr, usize size); void* dynarr_at(DynamicArray* arr, usize idx); +void dynarr_set(DynamicArray* arr, usize idx, void* data); + void dynarr_push(DynamicArray* arr, void* data); void dynarr_free(DynamicArray* arr); diff --git a/src/data_structure/dynamic_array.c b/src/data_structure/dynamic_array.c index a4ec755..86df5e9 100644 --- a/src/data_structure/dynamic_array.c +++ b/src/data_structure/dynamic_array.c @@ -18,6 +18,10 @@ void* dynarr_at(DynamicArray* arr, usize idx) { return &((u8*)arr->data)[arr->data_size * idx]; } +void dynarr_set(DynamicArray* arr, usize idx, void* data) { + memcpy(&((u8*)arr->data)[arr->data_size * idx], data, arr->data_size); +} + void* dynarr_last(DynamicArray* arr) { return &((u8*)arr->data)[arr->data_size * (arr->len - 1)]; }