diff options
| author | ruki <[email protected]> | 2025-10-04 18:01:37 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-10-04 18:01:37 +0800 |
| commit | d31622c8fb0c962262f3397bc8cb1ac670abd001 (patch) | |
| tree | 965fbc5d83d69247f85cc3311aa5f8beeb30ad80 /xmake/core/base/hash.lua | |
| parent | cde688f2021845a23751eeb25aecd3b5194c6952 (diff) | |
improve hash
Diffstat (limited to 'xmake/core/base/hash.lua')
| -rw-r--r-- | xmake/core/base/hash.lua | 11 |
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" |
