>>>>> "K" == Kanis, Lars <Kanis / COMCARD.DE> writes:

K> # uname -a=20
K> Linux comdb1 2.6.13-15-smp #1 SMP Tue Sep 13 14:56:15 UTC 2005 x86_64 =
K> x86_64=20
K> x86_64 GNU/Linux=20

 Can you test ?

uln% diff -u re.c~ re.c
--- re.c~	2005-05-23 05:24:28.000000000 +0200
+++ re.c	2005-11-22 18:40:49.000000000 +0100
@@ -105,7 +105,7 @@
     int d;
     unsigned long hx, hy;
 
-#define KR_REHASH(a, b, h) (((h) << 1) - ((a)<<d) + (b))
+#define KR_REHASH(a, b, h) (((h) << 1) - (((unsigned long)(a))<<d) + (b))
 
     if (m > n) return -1;
     s = y; e = s + n - m;
uln% 

uln% uname -a
Linux uln 2.6.12-9-amd64-k8-smp #1 SMP Mon Oct 10 13:18:18 BST 2005 x86_64 GNU/Linux
uln%
 
uln% ./ruby -e "p %q{p1031'/> <b><c n='field'/><c n='fl}.index(%q{<b><c n='field'/><c n='fl})"
9
uln% 


Guy Decoux