fix: fixed problems with init and destroy slice
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user