mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-22 05:34:59 -07:00
Merge pull request #531 from Tetralux/fix-make-and-reserve
Fix make and reserve
This commit is contained in:
+3
-1
@@ -124,8 +124,10 @@ make_dynamic_array_len :: proc($T: typeid/[dynamic]$E, auto_cast len: int, alloc
|
||||
make_dynamic_array_len_cap :: proc($T: typeid/[dynamic]$E, auto_cast len: int, auto_cast cap: int, allocator := context.allocator, loc := #caller_location) -> T {
|
||||
runtime.make_dynamic_array_error_loc(loc, len, cap);
|
||||
data := alloc(size_of(E)*cap, align_of(E), allocator, loc);
|
||||
if data == nil do return nil;
|
||||
s := Raw_Dynamic_Array{data, len, cap, allocator};
|
||||
if data == nil {
|
||||
s.len, s.cap = 0, 0;
|
||||
}
|
||||
return transmute(T)s;
|
||||
}
|
||||
make_map :: proc($T: typeid/map[$K]$E, auto_cast cap: int = 16, allocator := context.allocator, loc := #caller_location) -> T {
|
||||
|
||||
@@ -628,8 +628,10 @@ make_dynamic_array_len :: proc($T: typeid/[dynamic]$E, auto_cast len: int, alloc
|
||||
make_dynamic_array_len_cap :: proc($T: typeid/[dynamic]$E, auto_cast len: int, auto_cast cap: int, allocator := context.allocator, loc := #caller_location) -> T {
|
||||
make_dynamic_array_error_loc(loc, len, cap);
|
||||
data := mem_alloc(size_of(E)*cap, align_of(E), allocator, loc);
|
||||
if data == nil do return nil;
|
||||
s := Raw_Dynamic_Array{data, len, cap, allocator};
|
||||
if data == nil {
|
||||
s.len, s.cap = 0, 0;
|
||||
}
|
||||
return transmute(T)s;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user