diff options
| author | gingerBill <bill@gingerbill.org> | 2022-03-06 12:17:49 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-03-06 12:17:49 +0000 |
| commit | a957d3dd64d389aabac03890f4a022ca35dec846 (patch) | |
| tree | 55404f018866fb19b80dfd42ff5d3d59bb34b3d8 /core/runtime/dynamic_map_internal.odin | |
| parent | a7c0edb046fec9cb43b9846e40c23b5bfc233f84 (diff) | |
Minor clean up of `default_hasher_cstring`text-template
Diffstat (limited to 'core/runtime/dynamic_map_internal.odin')
| -rw-r--r-- | core/runtime/dynamic_map_internal.odin | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/core/runtime/dynamic_map_internal.odin b/core/runtime/dynamic_map_internal.odin index 4d4c51d6a..c7c074b84 100644 --- a/core/runtime/dynamic_map_internal.odin +++ b/core/runtime/dynamic_map_internal.odin @@ -128,11 +128,9 @@ default_hasher_string :: proc "contextless" (data: rawptr, seed: uintptr) -> uin } default_hasher_cstring :: proc "contextless" (data: rawptr, seed: uintptr) -> uintptr { h := u64(seed) + 0xcbf29ce484222325 - ptr := (^uintptr)(data)^ - for (^byte)(ptr)^ != 0 { - b := (^byte)(ptr)^ - h = (h ~ u64(b)) * 0x100000001b3 - ptr += 1 + b := (^[^]byte)(data)^ + if b != nil do for ; b[0] != 0; b = b[1:] { + h = (h ~ u64(b[0])) * 0x100000001b3 } return uintptr(h) } |