From 8f0bc372a0038b439c704666a31bb026155bfa78 Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: Wed, 15 Dec 2010 17:46:23 +0100 Subject: [PATCH 1/2] Add delete callback to sss_hash_create() --- src/providers/ldap/sdap_async_accounts.c | 4 ++-- src/util/util.c | 6 ++++-- src/util/util.h | 4 +++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/providers/ldap/sdap_async_accounts.c b/src/providers/ldap/sdap_async_accounts.c index 004c69a..8c6dcb2 100644 --- a/src/providers/ldap/sdap_async_accounts.c +++ b/src/providers/ldap/sdap_async_accounts.c @@ -1565,13 +1565,13 @@ static void sdap_get_groups_process(struct tevent_req *subreq) } /* Prepare hashes for nested user processing */ - ret = sss_hash_create(state, 32, &state->user_hash); + ret = sss_hash_create(state, 32, &state->user_hash, NULL, NULL); if (ret != EOK) { tevent_req_error(req, ret); return; } - ret = sss_hash_create(state, 32, &state->group_hash); + ret = sss_hash_create(state, 32, &state->group_hash, NULL, NULL); if (ret != EOK) { tevent_req_error(req, ret); return; diff --git a/src/util/util.c b/src/util/util.c index 67f9880..7d0b7d2 100644 --- a/src/util/util.c +++ b/src/util/util.c @@ -475,7 +475,9 @@ static void hash_talloc_free(void *ptr, void *pvt) errno_t sss_hash_create(TALLOC_CTX *mem_ctx, unsigned long count, - hash_table_t **tbl) + hash_table_t **tbl, + hash_delete_callback *delete_callback, + void *delete_private_data) { errno_t ret; hash_table_t *table; @@ -489,7 +491,7 @@ errno_t sss_hash_create(TALLOC_CTX *mem_ctx, hret = hash_create_ex(count, &table, 0, 0, 0, 0, hash_talloc, hash_talloc_free, - internal_ctx, NULL, NULL); + internal_ctx, delete_callback, delete_private_data); switch (hret) { case HASH_SUCCESS: /* Steal the table pointer onto the mem_ctx, diff --git a/src/util/util.h b/src/util/util.h index e454f8b..79288aa 100644 --- a/src/util/util.h +++ b/src/util/util.h @@ -363,7 +363,9 @@ char **parse_args(const char *str); errno_t sss_hash_create(TALLOC_CTX *mem_ctx, unsigned long count, - hash_table_t **tbl); + hash_table_t **tbl, + hash_delete_callback *delete_callback, + void *delete_private_data); /* Copy a NULL-terminated string list * Returns NULL on out of memory error or invalid input -- 1.7.3.2