refactor dynamic array: update index types to size_t for better compatibility and memory safety
This commit is contained in:
@@ -25,7 +25,7 @@ void array_deconstructor(Array **pp_array) {
|
||||
*pp_array = NULL;
|
||||
}
|
||||
|
||||
void array_resize(Array *p_array, const int new_size) {
|
||||
void array_resize(Array *p_array, const size_t new_size) {
|
||||
int *new_ptr = realloc(p_array->value, new_size*p_array->element_size);
|
||||
if (new_ptr == NULL) {
|
||||
exit(1);
|
||||
@@ -39,16 +39,16 @@ void array_resize(Array *p_array, const int new_size) {
|
||||
p_array->capacity = new_size;
|
||||
}
|
||||
|
||||
void *array_get_value(const Array *p_array, const int index) {
|
||||
void *array_get_value(const Array *p_array, const size_t index) {
|
||||
if (index > p_array->capacity) {
|
||||
return NULL;
|
||||
}
|
||||
return p_array->value + index * p_array->element_size;
|
||||
}
|
||||
|
||||
void array_set_value(Array *p_array, const int index, const void *value) {
|
||||
void array_set_value(Array *p_array, const size_t index, const void *value) {
|
||||
if (index > p_array->capacity) {
|
||||
int new_size = p_array->capacity;
|
||||
size_t new_size = p_array->capacity;
|
||||
while (index >= new_size) {
|
||||
new_size *= 2;
|
||||
}
|
||||
@@ -62,10 +62,10 @@ void array_set_value(Array *p_array, const int index, const void *value) {
|
||||
}
|
||||
}
|
||||
|
||||
int array_get_size(const Array *p_array) {
|
||||
size_t array_get_size(const Array *p_array) {
|
||||
return p_array->size;
|
||||
}
|
||||
|
||||
int array_get_capacity(const Array *p_array) {
|
||||
size_t array_get_capacity(const Array *p_array) {
|
||||
return p_array->capacity;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user