From 5e71868ced159355a25dc935b24c8e9b1d946bd7 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 13 Oct 2020 22:40:19 +0900 Subject: [PATCH] util: introduce two trivial hash_ops Will be used in a later commit. --- src/basic/hash-funcs.c | 13 +++++++++++++ src/basic/hash-funcs.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/basic/hash-funcs.c b/src/basic/hash-funcs.c index cf279e5cbe..83016c0fd6 100644 --- a/src/basic/hash-funcs.c +++ b/src/basic/hash-funcs.c @@ -71,6 +71,19 @@ const struct hash_ops trivial_hash_ops = { .compare = trivial_compare_func, }; +const struct hash_ops trivial_hash_ops_free = { + .hash = trivial_hash_func, + .compare = trivial_compare_func, + .free_key = free, +}; + +const struct hash_ops trivial_hash_ops_free_free = { + .hash = trivial_hash_func, + .compare = trivial_compare_func, + .free_key = free, + .free_value = free, +}; + void uint64_hash_func(const uint64_t *p, struct siphash *state) { siphash24_compress(p, sizeof(uint64_t), state); } diff --git a/src/basic/hash-funcs.h b/src/basic/hash-funcs.h index 005d1b21d2..fb60200941 100644 --- a/src/basic/hash-funcs.h +++ b/src/basic/hash-funcs.h @@ -88,6 +88,8 @@ extern const struct hash_ops path_hash_ops_free; void trivial_hash_func(const void *p, struct siphash *state); int trivial_compare_func(const void *a, const void *b) _const_; extern const struct hash_ops trivial_hash_ops; +extern const struct hash_ops trivial_hash_ops_free; +extern const struct hash_ops trivial_hash_ops_free_free; /* 32bit values we can always just embed in the pointer itself, but in order to support 32bit archs we need store 64bit * values indirectly, since they don't fit in a pointer. */