diff options
| author | Carson Fleming <[email protected]> | 2026-01-25 02:43:47 -0500 |
|---|---|---|
| committer | Carson Fleming <[email protected]> | 2026-01-25 02:43:47 -0500 |
| commit | eaba8182af646204294546a10a84e8f8165ba589 (patch) | |
| tree | de32c16221306a3f45679fd45046637b81c66529 /array.c | |
| parent | e72088d79804e4f689196f4bc700fb9348c77209 (diff) | |
| download | safec-eaba8182af646204294546a10a84e8f8165ba589.tar.gz | |
properly generic
Diffstat (limited to 'array.c')
| -rw-r--r-- | array.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -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]; } |
