hash: fix build on non-x86 arch
authorBruce Liu <2103458176@qq.com>
Wed, 8 Jul 2015 15:15:47 +0000 (23:15 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 9 Jul 2015 01:20:11 +0000 (03:20 +0200)
In the no-x86 branch, a parentheses is missing.
And need to include <limits.h> header to use CHAR_BIT.

Fixes: 49361c3f3cfa ("hash: remove duplicated code")

Signed-off-by: Bruce Liu <2103458176@qq.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
lib/librte_hash/rte_jhash.h

index e230449..f9a8266 100644 (file)
@@ -46,6 +46,7 @@ extern "C" {
 
 #include <stdint.h>
 #include <string.h>
+#include <limits.h>
 
 #include <rte_log.h>
 #include <rte_byteorder.h>
@@ -122,7 +123,7 @@ __rte_jhash_2hashes(const void *key, uint32_t length, uint32_t *pc,
        const uint32_t *k = key;
        const uint32_t s = 0;
 #else
-       const uint32_t *k = (uint32_t *)(uintptr_t)key & (uintptr_t)~3);
+       const uint32_t *k = (uint32_t *)((uintptr_t)key & (uintptr_t)~3);
        const uint32_t s = ((uintptr_t)key & 3) * CHAR_BIT;
 #endif
        if (!check_align || s == 0) {