From a473fb88e6015cf0ccbd2e9005c7e6acca18f452 Mon Sep 17 00:00:00 2001 From: Pavel Březina Date: Mon, 2 Sep 2013 13:36:25 +0200 Subject: util: add sss_idmap_talloc[_free] Remove code duplication. --- src/providers/ad/ad_subdomains.c | 14 +++----------- src/providers/ipa/ipa_idmap.c | 17 +++-------------- src/providers/ldap/sdap_idmap.c | 17 +++-------------- 3 files changed, 9 insertions(+), 39 deletions(-) (limited to 'src/providers') diff --git a/src/providers/ad/ad_subdomains.c b/src/providers/ad/ad_subdomains.c index afd2031f..87685088 100644 --- a/src/providers/ad/ad_subdomains.c +++ b/src/providers/ad/ad_subdomains.c @@ -24,6 +24,7 @@ #include "providers/ldap/sdap_async.h" #include "providers/ad/ad_subdomains.h" +#include "util/util_sss_idmap.h" #include #include #include @@ -777,16 +778,6 @@ struct bet_ops ad_subdomains_ops = { .finalize = NULL }; -static void *idmap_talloc(size_t size, void *pvt) -{ - return talloc_size(pvt, size); -} - -static void idmap_free(void *ptr, void *pvt) -{ - talloc_free(ptr); -} - int ad_subdom_init(struct be_ctx *be_ctx, struct ad_id_ctx *id_ctx, const char *ad_domain, @@ -825,7 +816,8 @@ int ad_subdom_init(struct be_ctx *be_ctx, DEBUG(SSSDBG_MINOR_FAILURE, ("Failed to add subdom offline callback")); } - err = sss_idmap_init(idmap_talloc, ctx, idmap_free, &ctx->idmap_ctx); + err = sss_idmap_init(sss_idmap_talloc, ctx, sss_idmap_talloc_free, + &ctx->idmap_ctx); if (err != IDMAP_SUCCESS) { DEBUG(SSSDBG_CRIT_FAILURE, ("Failed to initialize idmap context.\n")); return EFAULT; diff --git a/src/providers/ipa/ipa_idmap.c b/src/providers/ipa/ipa_idmap.c index 69ab55c9..2f141f8e 100644 --- a/src/providers/ipa/ipa_idmap.c +++ b/src/providers/ipa/ipa_idmap.c @@ -24,18 +24,7 @@ #include "util/util.h" #include "providers/ldap/sdap_idmap.h" #include "providers/ipa/ipa_common.h" - -static void * -ipa_idmap_talloc(size_t size, void *pvt) -{ - return talloc_size(pvt, size); -} - -static void -ipa_idmap_talloc_free(void *ptr, void *pvt) -{ - talloc_free(ptr); -} +#include "util/util_sss_idmap.h" errno_t ipa_idmap_find_new_domain(struct sdap_idmap_ctx *idmap_ctx, const char *dom_name, @@ -168,8 +157,8 @@ errno_t ipa_idmap_init(TALLOC_CTX *mem_ctx, idmap_ctx->find_new_domain = ipa_idmap_find_new_domain; /* Initialize the map */ - err = sss_idmap_init(ipa_idmap_talloc, idmap_ctx, - ipa_idmap_talloc_free, + err = sss_idmap_init(sss_idmap_talloc, idmap_ctx, + sss_idmap_talloc_free, &idmap_ctx->map); if (err != IDMAP_SUCCESS) { DEBUG(SSSDBG_CRIT_FAILURE, diff --git a/src/providers/ldap/sdap_idmap.c b/src/providers/ldap/sdap_idmap.c index 7a727719..667e3774 100644 --- a/src/providers/ldap/sdap_idmap.c +++ b/src/providers/ldap/sdap_idmap.c @@ -24,18 +24,7 @@ #include "util/dlinklist.h" #include "util/murmurhash3.h" #include "providers/ldap/sdap_idmap.h" - -static void * -sdap_idmap_talloc(size_t size, void *pvt) -{ - return talloc_size(pvt, size); -} - -static void -sdap_idmap_talloc_free(void *ptr, void *pvt) -{ - talloc_free(ptr); -} +#include "util/util_sss_idmap.h" static errno_t sdap_idmap_add_configured_external_range(struct sdap_idmap_ctx *idmap_ctx) @@ -173,8 +162,8 @@ sdap_idmap_init(TALLOC_CTX *mem_ctx, } /* Initialize the map */ - err = sss_idmap_init(sdap_idmap_talloc, idmap_ctx, - sdap_idmap_talloc_free, + err = sss_idmap_init(sss_idmap_talloc, idmap_ctx, + sss_idmap_talloc_free, &idmap_ctx->map); if (err != IDMAP_SUCCESS) { DEBUG(SSSDBG_CRIT_FAILURE, -- cgit