for (x= 0; x < key_length; x++)
{
temp_hash *= FNV_64_PRIME;
- temp_hash ^= key[x];
+ temp_hash ^= (uint64_t)key[x];
}
hash= (uint32_t)temp_hash;
}
hash= (uint32_t) FNV_64_INIT;
for (x= 0; x < key_length; x++)
{
- hash ^= key[x];
+ uint32_t val= (uint32_t)key[x];
+ hash ^= val;
hash *= (uint32_t) FNV_64_PRIME;
}
}
hash= FNV_32_INIT;
for (x= 0; x < key_length; x++)
{
+ uint32_t val= (uint32_t)key[x];
hash *= FNV_32_PRIME;
- hash ^= key[x];
+ hash ^= val;
}
}
break;
hash= FNV_32_INIT;
for (x= 0; x < key_length; x++)
{
- hash ^= key[x];
+ uint32_t val= (uint32_t)key[x];
+ hash ^= val;
hash *= FNV_32_PRIME;
}
}
while (key_length--)
{
- value += (uint32_t) *ptr++;
+ uint32_t val= (uint32_t) *ptr++;
+ value += val;
value += (value << 10);
value ^= (value >> 6);
}