be XOR, not OR. Also, the shifts are meaningless, because the fingerprint
hash is believed to be very well distributed.
Beware, this means that the current mainline is incompatible with string
indices generated by v2.4! For now, I'm not increasing the index version,
because word matching still works with old indices and I want to profile it.
static inline u32
fp_hash(struct fingerprint *fp)
{
static inline u32
fp_hash(struct fingerprint *fp)
{
- return (fp->hash[0] << 24) | (fp->hash[1] << 16) | (fp->hash[2] << 8) | fp->hash[3];
+ return fp->hash[0] ^ fp->hash[1] ^ fp->hash[2] ^ fp->hash[3];
}
/* Reading of tagged text (Unicode values, tags mapped to 0x80000000 and higher) */
}
/* Reading of tagged text (Unicode values, tags mapped to 0x80000000 and higher) */