Browse Source

Merge pull request #1818 from IanLilleyT/reserve_exceed

Dynamic array append reserves more space when it exceeds capacity
gingerBill 3 years ago
parent
commit
c53426fcb4
1 changed files with 2 additions and 2 deletions
  1. 2 2
      core/runtime/dynamic_array_internal.odin

+ 2 - 2
core/runtime/dynamic_array_internal.odin

@@ -94,7 +94,7 @@ __dynamic_array_append :: proc(array_: rawptr, elem_size, elem_align: int,
 
 
 
 
 	ok := true
 	ok := true
-	if array.cap <= array.len+item_count {
+	if array.cap < array.len+item_count {
 		cap := 2 * array.cap + max(8, item_count)
 		cap := 2 * array.cap + max(8, item_count)
 		ok = __dynamic_array_reserve(array, elem_size, elem_align, cap, loc)
 		ok = __dynamic_array_reserve(array, elem_size, elem_align, cap, loc)
 	}
 	}
@@ -115,7 +115,7 @@ __dynamic_array_append_nothing :: proc(array_: rawptr, elem_size, elem_align: in
 	array := (^Raw_Dynamic_Array)(array_)
 	array := (^Raw_Dynamic_Array)(array_)
 
 
 	ok := true
 	ok := true
-	if array.cap <= array.len+1 {
+	if array.cap < array.len+1 {
 		cap := 2 * array.cap + max(8, 1)
 		cap := 2 * array.cap + max(8, 1)
 		ok = __dynamic_array_reserve(array, elem_size, elem_align, cap, loc)
 		ok = __dynamic_array_reserve(array, elem_size, elem_align, cap, loc)
 	}
 	}