Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
khash: factor out kh_release_*
author
René Scharfe
<l.s.r@web.de>
Thu, 4 Oct 2018 15:10:54 +0000
(17:10 +0200)
committer
Junio C Hamano
<gitster@pobox.com>
Thu, 4 Oct 2018 18:12:13 +0000
(11:12 -0700)
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>
khash.h
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
22a1646
)
diff --git
a/khash.h
b/khash.h
index 07b4cc2e6714598ef920dcf28b8f73ba34979677..d10caa0c35095c9e37a5b4eab37415bc59491273 100644
(file)
--- a/
khash.h
+++ b/
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 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) { \
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); \
} \
} \
free(h); \
} \
} \