From a957d3dd64d389aabac03890f4a022ca35dec846 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sun, 6 Mar 2022 12:17:49 +0000 Subject: Minor clean up of `default_hasher_cstring` --- core/runtime/dynamic_map_internal.odin | 8 +++----- 1 file 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) } -- cgit v1.2.3