>>>>> "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