~ chicken-core (chicken-5) 03ed75b418d157dff47753774f5ccaf477171292
commit 03ed75b418d157dff47753774f5ccaf477171292
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Jan 9 13:10:32 2010 +0100
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sat Jan 9 13:10:32 2010 +0100
restrict srfi-69 hash to 32-bit
diff --git a/srfi-69.scm b/srfi-69.scm
index 9144f837..a576b100 100644
--- a/srfi-69.scm
+++ b/srfi-69.scm
@@ -134,7 +134,8 @@
(if (fx< fxn 0) (fxneg fxn) fxn ) )
(define-inline (%hash/limit hsh lim)
- (fxmod (fxand (foreign-value "C_MOST_POSITIVE_FIXNUM" int)
+ ;; use 32-bit mask to have identical hashes on 64-bit platforms
+ (fxmod (fxand (foreign-value "C_MOST_POSITIVE_32_BIT_FIXNUM" int)
(%fxabs hsh))
lim) )
Trap