[dpdk-dev] [PATCH] [PATCH] librte_hash: miss parentheses in hash function

Bruce Liu 2103458176 at qq.com
Wed Jul 8 23:26:34 CEST 2015


In the no-x86 branch, a parentheses is missing.
And need to include <limits.h> header to use CHAR_BIT.
---
 lib/librte_hash/rte_jhash.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/librte_hash/rte_jhash.h b/lib/librte_hash/rte_jhash.h
index e230449..f9a8266 100644
--- a/lib/librte_hash/rte_jhash.h
+++ b/lib/librte_hash/rte_jhash.h
@@ -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) {
-- 
1.8.3.1



More information about the dev mailing list