aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/runtime/dynamic_map_internal.odin8
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)
}