diff options
author | German M. Bravo <german.mb@deipi.com> | 2014-09-22 14:10:44 -0500 |
---|---|---|
committer | German M. Bravo <german.mb@deipi.com> | 2014-09-22 14:10:44 -0500 |
commit | a38a356b6af5af2fdd6de5d1ac00f6d84d234dd5 (patch) | |
tree | 04141161a7b1d2c0b3695beaa60407b6d69c096b /scss | |
parent | cb1e3205d608bc82a40ed3567a4c941508bc880c (diff) | |
download | pyscss-a38a356b6af5af2fdd6de5d1ac00f6d84d234dd5.tar.gz |
murmurhash3 with C90 compatibility
Diffstat (limited to 'scss')
-rw-r--r-- | scss/src/hashtable.c | 11 |
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: |