1
0
mirror of https://github.com/git/git synced 2024-07-02 15:48:44 +00:00

khash: factor out kh_release_*

Add a function for releasing the khash-internal allocations, but not the
khash structure itself.  It can be used with on-stack khash structs.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe 2018-10-04 17:10:54 +02:00 committed by Junio C Hamano
parent 22a1646511
commit 9249ca26ac

View File

@ -82,11 +82,16 @@ static const double __ac_HASH_UPPER = 0.77;
SCOPE kh_##name##_t *kh_init_##name(void) { \
return (kh_##name##_t*)xcalloc(1, sizeof(kh_##name##_t)); \
} \
SCOPE void kh_release_##name(kh_##name##_t *h) \
{ \
free(h->flags); \
free((void *)h->keys); \
free((void *)h->vals); \
} \
SCOPE void kh_destroy_##name(kh_##name##_t *h) \
{ \
if (h) { \
free((void *)h->keys); free(h->flags); \
free((void *)h->vals); \
kh_release_##name(h); \
free(h); \
} \
} \