From caf0d1b9dbab5d798d39d6394219e50ea73ccbd8 Mon Sep 17 00:00:00 2001 From: Date: Sat, 15 Mar 2008 17:37:11 -0700 Subject: [PATCH] Update from Tanj --- libmemcached/murmur_hash.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/libmemcached/murmur_hash.c b/libmemcached/murmur_hash.c index ce28ec38..e673420d 100644 --- a/libmemcached/murmur_hash.c +++ b/libmemcached/murmur_hash.c @@ -11,28 +11,25 @@ uint32_t murmur_hash(char *key, size_t length) const uint32_t m= 0x5bd1e995; const int r= 16; uint32_t h= length * m; + uint32_t k = 0; while(length >= 4) { - uint32_t k = *(uint32_t*)key; + k = *(uint32_t*)key; MIX(h,k,m); key += 4; length -= 4; } - if (length) + switch(length) { - uint32_t k= 0; - - switch(length) - { - case 3: k += key[2] << 16; - case 2: k += key[1] << 8; - case 1: k += key[0]; - }; - MIX(h,k,m); - } + case 3: k += key[2] << 16; + case 2: k += key[1] << 8; + case 1: k += key[0]; + MIX(h,k,m); + default: + }; h *= m; h ^= h >> 10; -- 2.30.2