Add pointer offset utility
This commit is contained in:
@@ -7,8 +7,7 @@
|
||||
#include "../../common/aliases/aliases.h"
|
||||
#include <stddef.h>
|
||||
|
||||
#define _offset_pointer(PTR, OFFSET) ((void *)((uptr)(PTR) + (OFFSET)))
|
||||
#define _array_header(ARRAY) (ArrayHeader *)(_offset_pointer(ARRAY, (i64)sizeof(ArrayHeader) * -1))
|
||||
#define _array_header(ARRAY) (ArrayHeader *)(wapp_pointer_offset(ARRAY, (i64)sizeof(ArrayHeader) * -1))
|
||||
|
||||
wapp_persist inline void _array_validate(const GenericArray array, u64 item_size);
|
||||
|
||||
@@ -55,7 +54,7 @@ void *_array_get(GenericArray array, u64 index, u64 item_size) {
|
||||
ArrayHeader *header = _array_header(array);
|
||||
wapp_runtime_assert(index < header->count, "`index` is out of bounds");
|
||||
|
||||
return _offset_pointer(array, header->item_size * index);
|
||||
return wapp_pointer_offset(array, header->item_size * index);
|
||||
}
|
||||
|
||||
void _array_set(GenericArray array, u64 index, void *value, u64 item_size) {
|
||||
@@ -86,7 +85,7 @@ void _array_extend_capped(GenericArray dst, const GenericArray src, u64 item_siz
|
||||
u64 remaining_capacity = dst_header->capacity - dst_header->count;
|
||||
|
||||
u64 copy_count = src_header->count < remaining_capacity ? src_header->count : remaining_capacity;
|
||||
void *dst_ptr = _offset_pointer(dst, dst_header->count * dst_header->item_size);
|
||||
void *dst_ptr = wapp_pointer_offset(dst, dst_header->count * dst_header->item_size);
|
||||
memcpy(dst_ptr, src, copy_count * src_header->item_size);
|
||||
dst_header->count += copy_count;
|
||||
}
|
||||
|
||||
@@ -48,6 +48,7 @@ BEGIN_C_LINKAGE
|
||||
)
|
||||
|
||||
#define wapp_is_power_of_two(NUM) ((NUM & (NUM - 1)) == 0)
|
||||
#define wapp_pointer_offset(PTR, OFFSET) ((void *)((uptr)(PTR) + (OFFSET)))
|
||||
|
||||
#ifdef WAPP_PLATFORM_CPP
|
||||
END_C_LINKAGE
|
||||
|
||||
Reference in New Issue
Block a user