fix: fixed problems with init and destroy slice

This commit is contained in:
2026-04-21 09:10:53 -06:00
parent 6088895ad0
commit dafaa5b87e
2 changed files with 29 additions and 0 deletions

View File

@@ -46,6 +46,7 @@ ArrayList *arraylist_init(size_t capacity, size_t elem_size) {
arr->capacity = capacity;
arr->elem_size = elem_size;
arr->len = 0;
arr->borrows = 0;
arr->buffer = malloc(capacity * elem_size);
if (arr->buffer == NULL) {
free(arr);
@@ -496,6 +497,10 @@ ArrayListErr arrayslice_destroy(ArraySlice **slice) {
return ARRLIST_NULL_ARG;
}
if ((*slice)->is_safe) {
(*slice)->arr->borrows--;
}
free(*slice);
*slice = NULL;