diff options
| author | gingerBill <bill@gingerbill.org> | 2022-09-17 12:27:34 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-09-17 12:27:34 +0100 |
| commit | 0428d5ae2e8fc3e814a968698a6550e86aea9d5c (patch) | |
| tree | 11be421116276ecc796f553fec27b40d02d333a6 /core/runtime | |
| parent | b967ae2739735128db983e965bfd13a8d3233d9f (diff) | |
Catch missing areas of `Map_Index` usage
Diffstat (limited to 'core/runtime')
| -rw-r--r-- | core/runtime/dynamic_map_internal.odin | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/core/runtime/dynamic_map_internal.odin b/core/runtime/dynamic_map_internal.odin index ebefe7813..4f1311dff 100644 --- a/core/runtime/dynamic_map_internal.odin +++ b/core/runtime/dynamic_map_internal.odin @@ -262,7 +262,7 @@ __dynamic_map_rehash :: proc(using header: Map_Header, new_count: int, loc := #c __dynamic_map_get :: proc(h: Map_Header, hash: Map_Hash) -> rawptr { index := __dynamic_map_find(h, hash).entry_index - if index >= 0 { + if index != MAP_SENTINEL { data := uintptr(__dynamic_map_get_entry(h, index)) return rawptr(data + h.value_offset) } @@ -270,7 +270,7 @@ __dynamic_map_get :: proc(h: Map_Header, hash: Map_Hash) -> rawptr { } __dynamic_map_set :: proc(h: Map_Header, hash: Map_Hash, value: rawptr, loc := #caller_location) -> ^Map_Entry_Header #no_bounds_check { - index: Map_Index + index := MAP_SENTINEL if len(h.m.hashes) == 0 { __dynamic_map_reserve(h, INITIAL_MAP_CAP, loc) @@ -278,14 +278,14 @@ __dynamic_map_set :: proc(h: Map_Header, hash: Map_Hash, value: rawptr, loc := # } fr := __dynamic_map_find(h, hash) - if fr.entry_index >= 0 { + if fr.entry_index != MAP_SENTINEL { index = fr.entry_index } else { index = __dynamic_map_add_entry(h, hash, loc) - if fr.entry_prev >= 0 { + if fr.entry_prev != MAP_SENTINEL { entry := __dynamic_map_get_entry(h, fr.entry_prev) entry.next = index - } else if fr.hash_index >= 0 { + } else if fr.hash_index != MAP_SENTINEL { h.m.hashes[fr.hash_index] = index } else { return nil |