summaryrefslogtreecommitdiff
path: root/scss
diff options
context:
space:
mode:
authorGerman M. Bravo <german.mb@deipi.com>2014-09-22 14:10:44 -0500
committerGerman M. Bravo <german.mb@deipi.com>2014-09-22 14:10:44 -0500
commita38a356b6af5af2fdd6de5d1ac00f6d84d234dd5 (patch)
tree04141161a7b1d2c0b3695beaa60407b6d69c096b /scss
parentcb1e3205d608bc82a40ed3567a4c941508bc880c (diff)
downloadpyscss-a38a356b6af5af2fdd6de5d1ac00f6d84d234dd5.tar.gz
murmurhash3 with C90 compatibility
Diffstat (limited to 'scss')
-rw-r--r--scss/src/hashtable.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/scss/src/hashtable.c b/scss/src/hashtable.c
index d8dfd5a..70f6cf1 100644
--- a/scss/src/hashtable.c
+++ b/scss/src/hashtable.c
@@ -22,15 +22,19 @@ murmurhash3(const void *key, const size_t len, const unsigned int seed) {
const unsigned int r2 = 13;
const unsigned int m = 5;
const unsigned int n = 0xe6546b64;
+ const unsigned char *tail;
+ size_t i;
+ unsigned int k;
+ unsigned int k1 = 0;
unsigned int hash = seed;
const size_t nblocks = len / 4;
const unsigned int *blocks = (const unsigned int *) key;
- size_t i;
+
for (i = 0; i < nblocks; i++) {
- unsigned int k = blocks[i];
+ k = blocks[i];
k *= c1;
k = (k << r1) | (k >> (32 - r1));
k *= c2;
@@ -39,8 +43,7 @@ murmurhash3(const void *key, const size_t len, const unsigned int seed) {
hash = ((hash << r2) | (hash >> (32 - r2))) * m + n;
}
- const unsigned char *tail = (const unsigned char *) (key + nblocks * 4);
- unsigned int k1 = 0;
+ tail = (const unsigned char *)(key + nblocks * 4);
switch (len & 3) {
case 3: