X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Fhash.h;h=e4a65d21e65b00b93ee7c1f75a7585ef3dd65cd1;hb=bd5c49a1615e36260a86184d087b5b47a5e747be;hp=892b2ea916c2f96191b80af949c3ccc7d01e64c9;hpb=b7b929931a07fbb27b43d5cd105f366c3e29807e;p=vpp.git diff --git a/src/vppinfra/hash.h b/src/vppinfra/hash.h index 892b2ea916c..e4a65d21e65 100644 --- a/src/vppinfra/hash.h +++ b/src/vppinfra/hash.h @@ -276,11 +276,11 @@ uword hash_bytes (void *v); /* Public inline function allocate and copy key to use in hash for pointer key */ always_inline void -hash_set_mem_alloc (uword ** h, void *key, uword v) +hash_set_mem_alloc (uword ** h, const void *key, uword v) { size_t ksz = hash_header (*h)->user; void *copy = clib_mem_alloc (ksz); - clib_memcpy (copy, key, ksz); + clib_memcpy_fast (copy, key, ksz); hash_set_mem (*h, copy, v); } @@ -292,14 +292,14 @@ hash_set_mem_alloc (uword ** h, void *key, uword v) /* Public inline function to unset pointer key and then free the key memory */ always_inline void -hash_unset_mem_free (uword ** h, void *key) +hash_unset_mem_free (uword ** h, const void *key) { hash_pair_t *hp = hash_get_pair_mem (*h, key); if (PREDICT_TRUE (hp != NULL)) { - key = uword_to_pointer (hp->key, void *); - hash_unset_mem (*h, key); - clib_mem_free (key); + void *_k = uword_to_pointer (hp->key, void *); + hash_unset_mem (*h, _k); + clib_mem_free (_k); } }