From 0cb3c286883b694fc52a18a3b559ff98931641f3 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Tue, 6 Oct 2015 15:04:42 +0200 Subject: siphash24: unify API Make the API of the new helpers more similar to the old wrapper. In particular we now return the hash as a byte string to avoid any endianness problems. --- src/basic/hashmap.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/basic/hashmap.c') diff --git a/src/basic/hashmap.c b/src/basic/hashmap.c index 3e17ed30df..20e7e51d9e 100644 --- a/src/basic/hashmap.c +++ b/src/basic/hashmap.c @@ -372,12 +372,15 @@ static uint8_t *hash_key(HashmapBase *h) { static unsigned base_bucket_hash(HashmapBase *h, const void *p) { struct siphash state; + uint64_t hash; - siphash_init(&state, hash_key(h)); + siphash24_init(&state, hash_key(h)); h->hash_ops->hash(p, &state); - return (unsigned) (siphash24_finalize(&state) % n_buckets(h)); + siphash24_finalize((uint8_t*)&hash, &state); + + return (unsigned) (hash % n_buckets(h)); } #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) -- cgit v1.2.3-54-g00ecf