hash: fix build on non-x86 arch

In the no-x86 branch, a parentheses is missing.
And need to include <limits.h> header to use CHAR_BIT.

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

Signed-off-by: Bruce Liu <2103458176@qq.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
Bruce Liu 2015-07-08 23:15:47 +08:00 committed by Thomas Monjalon
parent 0e3f2317bc
commit b347adf962

View 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) {