diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/common/hashfn_unstable.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/include/common/hashfn_unstable.h b/src/include/common/hashfn_unstable.h index d7ab6eeefe7..c93c9d71792 100644 --- a/src/include/common/hashfn_unstable.h +++ b/src/include/common/hashfn_unstable.h @@ -370,4 +370,24 @@ fasthash32(const char *k, size_t len, uint64 seed) return fasthash_reduce32(fasthash64(k, len, seed)); } +/* + * Convenience function for hashing NUL-terminated strings + */ +static inline uint32 +hash_string(const char *s) +{ + fasthash_state hs; + size_t s_len; + + fasthash_init(&hs, 0); + + /* + * Combine string into the hash and save the length for tweaking the final + * mix. + */ + s_len = fasthash_accum_cstring(&hs, s); + + return fasthash_final32(&hs, s_len); +} + #endif /* HASHFN_UNSTABLE_H */ |