summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonovan Baarda <abo@minkirri.apana.org.au>2019-10-02 20:44:31 +1000
committerGitHub <noreply@github.com>2019-10-02 20:44:31 +1000
commitebc7f7a9338e79c087f573607e335cb64f3ad167 (patch)
treeacb18243ced05c915b4980f97e3ccccf2da87f08
parent1ad3c7c600dc7231b0d3feb9bfcd83fa0ebe1051 (diff)
parent00d781139b5f550a477cc94bf6b021410191101a (diff)
downloadlibrsync-ebc7f7a9338e79c087f573607e335cb64f3ad167.tar.gz
Merge pull request #170 from ardovm/vs2019
fix compilation with MS Visual Studio ad ignore build files
-rw-r--r--.gitignore7
-rw-r--r--src/hashtable.h7
2 files changed, 11 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 69ec394..18f65d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,6 +40,8 @@ CMakeDoxygenDefaults.cmake
# Test binaries
*_test
+*_test.exe
+*_test.exe.manifest
*.bak
@@ -60,3 +62,8 @@ doxygen_sqlite3.db
.ninja_log
build.ninja
rules.ninja
+
+# Microsoft Visual Studio build files
+*.sln
+*.vcxproj
+*.vcxproj.filters
diff --git a/src/hashtable.h b/src/hashtable.h
index 7ce2e80..a51926a 100644
--- a/src/hashtable.h
+++ b/src/hashtable.h
@@ -189,11 +189,11 @@ static inline unsigned mix32(unsigned int h)
# define NAME_iter _JOIN(NAME, _iter)
# define NAME_next _JOIN(NAME, _next)
-/* Modified hash() with/without mix32() and non-zero output. */
+/* Modified hash() with/without mix32(). */
# ifdef HASHTABLE_NMIX32
-# define _KEY_HASH(k) ({unsigned hk=KEY_hash((KEY_t *)k); hk ? hk : -1;})
+# define _KEY_HASH(k) KEY_hash((KEY_t *)k)
# else
-# define _KEY_HASH(k) ({unsigned hk=mix32(KEY_hash((KEY_t *)k)); hk ? hk : -1;})
+# define _KEY_HASH(k) mix32(KEY_hash((KEY_t *)k))
# endif
/* Loop macro for probing table t for key k, setting hk to the hash for k
@@ -202,6 +202,7 @@ static inline unsigned mix32(unsigned int h)
# define _for_probe(t, k, hk, i, h) \
const unsigned mask = t->size - 1;\
unsigned hk = _KEY_HASH(k), i, s, h;\
+ if (hk == 0) hk = -1;\
for (i = hk & mask, s = 0; (h = t->ktable[i]); i = (i + ++s) & mask)
/* Conditional macro for incrementing stats counters. */