From ee9908b09ea30fafe81c394e2e599ee5dd553b66 Mon Sep 17 00:00:00 2001 From: Ian Lilley Date: Wed, 1 Jun 2022 22:01:00 -0400 Subject: [PATCH] Reserve more space when exceeding, not meeting, capacity --- core/runtime/dynamic_array_internal.odin | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/runtime/dynamic_array_internal.odin b/core/runtime/dynamic_array_internal.odin index 6f800de7a..38834345c 100644 --- a/core/runtime/dynamic_array_internal.odin +++ b/core/runtime/dynamic_array_internal.odin @@ -65,7 +65,7 @@ __dynamic_array_append :: proc(array_: rawptr, elem_size, elem_align: int, ok := true - if array.cap <= array.len+item_count { + if array.cap < array.len+item_count { cap := 2 * array.cap + max(8, item_count) ok = __dynamic_array_reserve(array, elem_size, elem_align, cap, loc) } @@ -86,7 +86,7 @@ __dynamic_array_append_nothing :: proc(array_: rawptr, elem_size, elem_align: in array := (^Raw_Dynamic_Array)(array_) ok := true - if array.cap <= array.len+1 { + if array.cap < array.len+1 { cap := 2 * array.cap + max(8, 1) ok = __dynamic_array_reserve(array, elem_size, elem_align, cap, loc) }