about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/box32.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/box32.c b/src/box32.c
index 66967f1c..56ead813 100644
--- a/src/box32.c
+++ b/src/box32.c
@@ -83,7 +83,7 @@ uintptr_t from_hash_d(ulong_t l) {
 
 // Convert from 64bits to hash key, creating it if needed
 ulong_t to_hash(uintptr_t p) {
-    if((p<0x100000000LL) && (p&HASH_MSK!=HASH_MSK))
+    if((p<0x100000000LL) && ((p&HASH_MSK)!=HASH_MSK))
         return (ulong_t)p;
     if(p==0xffffffffffffffffll) {
         return 0xffffffff;
@@ -101,7 +101,7 @@ ulong_t to_hash(uintptr_t p) {
         pthread_rwlock_unlock(&hash_lock);
         pthread_rwlock_wrlock(&hash_lock);
         ret = HASH_MSK | hash_cnt++;
-        hash_cnt&=HASH_VAL;
+        if(hash_cnt==HASH_VAL) hash_cnt = 1;
         int r;
         k = kh_put(to, hash_to, p, &r);
         kh_value(hash_to, k) = ret;
@@ -116,7 +116,7 @@ ulong_t to_hash(uintptr_t p) {
 
 // Convert from 64bits to hash key and delete the entry from both hash table
 ulong_t to_hash_d(uintptr_t p) {
-    if((p<0x100000000LL) && (p&HASH_MSK!=HASH_MSK))
+    if((p<0x100000000LL) && ((p&HASH_MSK)!=HASH_MSK))
         return (ulong_t)p;
     if(p==0xffffffffffffffffll)
         return 0xffffffff;