aboutsummaryrefslogtreecommitdiff
path: root/core/runtime/dynamic_map_internal.odin
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-03-06 12:17:49 +0000
committergingerBill <bill@gingerbill.org>2022-03-06 12:17:49 +0000
commita957d3dd64d389aabac03890f4a022ca35dec846 (patch)
tree55404f018866fb19b80dfd42ff5d3d59bb34b3d8 /core/runtime/dynamic_map_internal.odin
parenta7c0edb046fec9cb43b9846e40c23b5bfc233f84 (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.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)
}