mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-02 20:58:15 +00:00
Fix delete for dynamic array and map
This commit is contained in:
+5
-5
@@ -53,16 +53,16 @@ delete_string :: proc(str: string, allocator := context.allocator, loc := #calle
|
|||||||
delete_cstring :: proc(str: cstring, allocator := context.allocator, loc := #caller_location) {
|
delete_cstring :: proc(str: cstring, allocator := context.allocator, loc := #caller_location) {
|
||||||
free((^byte)(str), allocator, loc);
|
free((^byte)(str), allocator, loc);
|
||||||
}
|
}
|
||||||
delete_dynamic_array :: proc(array: $T/[dynamic]$E, allocator := context.allocator, loc := #caller_location) {
|
delete_dynamic_array :: proc(array: $T/[dynamic]$E, loc := #caller_location) {
|
||||||
free(raw_data(array), allocator, loc);
|
free(raw_data(array), array.allocator, loc);
|
||||||
}
|
}
|
||||||
delete_slice :: proc(array: $T/[]$E, allocator := context.allocator, loc := #caller_location) {
|
delete_slice :: proc(array: $T/[]$E, allocator := context.allocator, loc := #caller_location) {
|
||||||
free(raw_data(array), allocator, loc);
|
free(raw_data(array), allocator, loc);
|
||||||
}
|
}
|
||||||
delete_map :: proc(m: $T/map[$K]$V, allocator := context.allocator, loc := #caller_location) {
|
delete_map :: proc(m: $T/map[$K]$V, loc := #caller_location) {
|
||||||
raw := transmute(Raw_Map)m;
|
raw := transmute(Raw_Map)m;
|
||||||
delete_dynamic_array(raw.hashes, allocator, loc);
|
delete_dynamic_array(raw.hashes, loc);
|
||||||
free(raw.entries.data, allocator, loc);
|
free(raw.entries.data, raw.entries.allocator, loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user