mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 15:18:49 +00:00
Fix len, cap, comparison against nil for map
This commit is contained in:
+14
-4
@@ -921,6 +921,20 @@ __dynamic_map_check_init :: proc(h: __Map_Header) {
|
||||
}
|
||||
}
|
||||
|
||||
__dynamic_map_len :: inline proc "contextless" (p: rawptr) -> int {
|
||||
if m := transmute(raw.Map)p; m.internal != nil {
|
||||
return m.internal.entries.len;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
__dynamic_map_cap :: inline proc "contextless" (p: rawptr) -> int {
|
||||
if m := transmute(raw.Map)p; m.internal != nil {
|
||||
return m.internal.entries.cap;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
__dynamic_map_reserve :: proc(using header: __Map_Header, cap: int, loc := #caller_location) {
|
||||
__dynamic_map_check_init(header);
|
||||
__dynamic_array_reserve(&m.hashes, size_of(int), align_of(int), cap, loc);
|
||||
@@ -1094,7 +1108,3 @@ __dynamic_map_erase :: proc(using h: __Map_Header, fr: __Map_Find_Result) {
|
||||
m.hashes[last.hash_index] = fr.entry_index;
|
||||
}
|
||||
}
|
||||
|
||||
__map_for_test :: proc "c" (s: string) {
|
||||
fmt.printf("__map_for_test '%s'\n", s);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user