2009-11-23 13:13:13 +01:00
|
|
|
Index: libguile/hash.c
|
|
|
|
===================================================================
|
|
|
|
--- libguile/hash.c.orig
|
2007-01-12 01:27:09 +01:00
|
|
|
+++ libguile/hash.c
|
2012-12-03 14:29:25 +01:00
|
|
|
@@ -273,7 +273,7 @@ scm_hasher(SCM obj, unsigned long n, siz
|
2009-11-23 13:13:13 +01:00
|
|
|
unsigned long
|
|
|
|
scm_ihashq (SCM obj, unsigned long n)
|
2007-01-12 01:27:09 +01:00
|
|
|
{
|
|
|
|
- return (SCM_UNPACK (obj) >> 1) % n;
|
|
|
|
+ return ((unsigned long) SCM_UNPACK (obj) >> 1) % n;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2012-12-03 14:29:25 +01:00
|
|
|
@@ -309,7 +309,7 @@ scm_ihashv (SCM obj, unsigned long n)
|
2007-01-12 01:27:09 +01:00
|
|
|
if (SCM_NUMP(obj))
|
2009-11-23 13:13:13 +01:00
|
|
|
return (unsigned long) scm_hasher(obj, n, 10);
|
2007-01-12 01:27:09 +01:00
|
|
|
else
|
|
|
|
- return SCM_UNPACK (obj) % n;
|
|
|
|
+ return (unsigned long) SCM_UNPACK (obj) % n;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2009-11-23 13:13:13 +01:00
|
|
|
Index: libguile/struct.c
|
|
|
|
===================================================================
|
|
|
|
--- libguile/struct.c.orig
|
2007-01-12 01:27:09 +01:00
|
|
|
+++ libguile/struct.c
|
2012-12-03 14:29:25 +01:00
|
|
|
@@ -919,7 +919,7 @@ scm_struct_ihashq (SCM obj, unsigned lon
|
2007-01-12 01:27:09 +01:00
|
|
|
{
|
|
|
|
/* The length of the hash table should be a relative prime it's not
|
|
|
|
necessary to shift down the address. */
|
|
|
|
- return SCM_UNPACK (obj) % n;
|
|
|
|
+ return (unsigned long) SCM_UNPACK (obj) % n;
|
|
|
|
}
|
|
|
|
|
2012-12-03 14:29:25 +01:00
|
|
|
/* Return the hash of struct OBJ, modulo N. Traverse OBJ's fields to
|