From eaba8182af646204294546a10a84e8f8165ba589 Mon Sep 17 00:00:00 2001 From: Carson Fleming Date: Sun, 25 Jan 2026 02:43:47 -0500 Subject: properly generic --- array.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'array.c') diff --git a/array.c b/array.c index c941b05..c7df5b5 100644 --- a/array.c +++ b/array.c @@ -7,20 +7,23 @@ void array_set(array_t* array, size_t idx, void* val) { CRASH_IF_OOB(array, idx); - array->data[idx] = val; + char* data_ptr = (char*)array->__data + idx*array->elemsz; + for (size_t i = 0; i < array->elemsz; i++) { + data_ptr[i] = *((char*)val + i); + } } void* array_get(const array_t* array, size_t idx) { CRASH_IF_OOB(array, idx); - return array->data[idx]; + return (char*)array->__data + idx*array->elemsz; } void str_set(str_t* str, size_t idx, char val) { CRASH_IF_OOB(str, idx); - str->data[idx] = val; + str->__data[idx] = val; } char str_get(const str_t* str, size_t idx) { CRASH_IF_OOB(str, idx); - return str->data[idx]; + return str->__data[idx]; } -- cgit v1.2.3