diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2020-08-29 22:37:17 +0200 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2020-09-01 17:57:50 +0200 |
commit | 1ff1e86debe29abc0ac706e5e7b89fc5192f191f (patch) | |
tree | 8f509b895ac092836d882b6e331497707c3f8be8 /base | |
parent | 4baedfc5787e5b87cfb3f4b0ea13a6ae9bc9c52e (diff) | |
download | lvm2-1ff1e86debe29abc0ac706e5e7b89fc5192f191f.tar.gz |
cleanup: better expressing passing key arg to _hash
Diffstat (limited to 'base')
-rw-r--r-- | base/data-struct/hash.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/base/data-struct/hash.c b/base/data-struct/hash.c index 5ef5ed276..d60f28a25 100644 --- a/base/data-struct/hash.c +++ b/base/data-struct/hash.c @@ -59,26 +59,27 @@ static unsigned char _nums[] = { 209 }; -static struct dm_hash_node *_create_node(const char *str, unsigned len) +static struct dm_hash_node *_create_node(const void *key, unsigned len) { struct dm_hash_node *n = malloc(sizeof(*n) + len); if (n) { - memcpy(n->key, str, len); + memcpy(n->key, key, len); n->keylen = len; } return n; } -static unsigned long _hash(const char *str, unsigned len) +static unsigned long _hash(const void *key, unsigned len) { + const unsigned char *str = key; unsigned long h = 0, g; unsigned i; for (i = 0; i < len; i++) { h <<= 4; - h += _nums[(unsigned char) *str++]; + h += _nums[*str++]; g = h & ((unsigned long) 0xf << 16u); if (g) { h ^= g >> 16u; |