diff --git a/src/internal/datatype_vector.c b/src/internal/datatype_vector.c index 38afc04..5960e82 100644 --- a/src/internal/datatype_vector.c +++ b/src/internal/datatype_vector.c @@ -52,18 +52,14 @@ void vector_push(struct SwiftNetVector* const vector, void* const data) { vector->data = new_data_ptr; } - ((void**)vector->data)[size] = data; + *((vector->data) + size) = data; vector->size++; } void vector_remove(struct SwiftNetVector* const vector, const uint32_t index) { if (index < vector->size - 1) { - memmove( - ((void**)vector->data) + index, - ((void**)vector->data) + index + 1, - (vector->size - index - 1) * sizeof(void*) - ); + memcpy(vector->data + index, vector->data + vector->size - 1, sizeof(void*)); } vector->size--; diff --git a/src/swift_net.h b/src/swift_net.h index 44f7456..d202097 100644 --- a/src/swift_net.h +++ b/src/swift_net.h @@ -217,7 +217,7 @@ struct SwiftNetMemoryAllocator { }; struct SwiftNetVector { - void* data; + void** data; uint32_t size; uint32_t capacity; _Atomic uint8_t locked; diff --git a/tests/integration_tests/output/run_tests b/tests/integration_tests/output/run_tests index 3f114af..941b291 100755 Binary files a/tests/integration_tests/output/run_tests and b/tests/integration_tests/output/run_tests differ diff --git a/tests/performance_tests/output/run_tests b/tests/performance_tests/output/run_tests index cd9b63d..3ac504c 100755 Binary files a/tests/performance_tests/output/run_tests and b/tests/performance_tests/output/run_tests differ