File guile-64bit.patch of Package guile

Index: libguile/hash.c
===================================================================
--- libguile/hash.c.orig
+++ libguile/hash.c
@@ -169,7 +169,7 @@ scm_hasher(SCM obj, unsigned long n, siz
 unsigned long
 scm_ihashq (SCM obj, unsigned long n)
 {
-  return (SCM_UNPACK (obj) >> 1) % n;
+  return ((unsigned long) SCM_UNPACK (obj) >> 1) % n;
 }
 
 
@@ -205,7 +205,7 @@ scm_ihashv (SCM obj, unsigned long n)
   if (SCM_NUMP(obj))
     return (unsigned long) scm_hasher(obj, n, 10);
   else
-    return SCM_UNPACK (obj) % n;
+    return (unsigned long) SCM_UNPACK (obj) % n;
 }
 
 
Index: libguile/struct.c
===================================================================
--- libguile/struct.c.orig
+++ libguile/struct.c
@@ -825,7 +825,7 @@ scm_struct_ihashq (SCM obj, unsigned lon
 {
   /* 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;
 }
 
 SCM