summaryrefslogtreecommitdiff
path: root/xmake/core/base/hash.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/core/base/hash.lua')
-rw-r--r--xmake/core/base/hash.lua11
1 files changed, 8 insertions, 3 deletions
diff --git a/xmake/core/base/hash.lua b/xmake/core/base/hash.lua
index e846ba302..9d7ca40ed 100644
--- a/xmake/core/base/hash.lua
+++ b/xmake/core/base/hash.lua
@@ -120,9 +120,14 @@ end
-- generate hash32 from string, e.g. "91e8ecf1"
function hash.strhash32(str)
- local data = libc.ptraddr(libc.dataptr(str))
- local size = #str
- return hash._xxhash(32, data, size)
+ if hash._rand32 then
+ local data = libc.ptraddr(libc.dataptr(str))
+ local size = #str
+ return hash._xxhash(32, data, size)
+ else
+ -- we need to be compatible with the old binary core (<= v3.0.3)
+ return hash.uuid4(str):split("-", {plain = true})[1]:lower()
+ end
end
-- generate hash64 from string, e.g. "91e8ecf191e8ecf1"