зеркало из https://github.com/microsoft/git.git
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:
Родитель
22a1646511
Коммит
9249ca26ac
9
khash.h
9
khash.h
|
@ -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); \
|
||||
} \
|
||||
} \
|
||||
|
|
Загрузка…
Ссылка в новой задаче