Merge doc update.
[m6w6/libmemcached] / libhashkit / fnv_64.cc
index 842e1d5c77db9112569a554a48b91c3f8826acd3..302215a083ec6ee532945ea58def72e732ef947e 100644 (file)
 
 #include <libhashkit/common.h>
 
+#if __WORDSIZE == 64 && defined(HAVE_FNV64_HASH)
+
 /* FNV hash'es lifted from Dustin Sallings work */
-static uint64_t FNV_64_INIT= 0xcbf29ce484222325LLU;
-static uint64_t FNV_64_PRIME= 0x100000001b3LLU;
+static uint64_t FNV_64_INIT= 0xcbf29ce484222325;
+static uint64_t FNV_64_PRIME= 0x100000001b3;
 
-uint32_t hashkit_fnv1_64(const char *key, size_t key_length, void *context)
+uint32_t hashkit_fnv1_64(const char *key, size_t key_length, void *)
 {
   /* Thanks to pierre@demartines.com for the pointer */
   uint64_t hash= FNV_64_INIT;
-  (void)context;
 
   for (size_t x= 0; x < key_length; x++)
   {
@@ -57,10 +58,9 @@ uint32_t hashkit_fnv1_64(const char *key, size_t key_length, void *context)
   return (uint32_t)hash;
 }
 
-uint32_t hashkit_fnv1a_64(const char *key, size_t key_length, void *context)
+uint32_t hashkit_fnv1a_64(const char *key, size_t key_length, void *)
 {
   uint32_t hash= (uint32_t) FNV_64_INIT;
-  (void)context;
 
   for (size_t x= 0; x < key_length; x++)
   {
@@ -71,3 +71,15 @@ uint32_t hashkit_fnv1a_64(const char *key, size_t key_length, void *context)
 
   return hash;
 }
+
+#else
+uint32_t hashkit_fnv1_64(const char *, size_t, void *)
+{
+  return 0;
+}
+
+uint32_t hashkit_fnv1a_64(const char *, size_t, void *)
+{
+  return 0;
+}
+#endif