mirror of
https://github.com/odin-lang/Odin.git
synced 2026-02-15 23:54:07 +00:00
Reserve more space when exceeding, not meeting, capacity
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user