From 2d1e4d2bb90c40dd16c68b71c69c9e46f428a3f6 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Tue, 26 Aug 2014 11:11:15 +0200 Subject: LDAP: Split out linking primary group members into a separate function The function sdap_fill_memberships did several tasks. It's more readable to split linking the primary members into a separate function. Reviewed-by: Pavel Reichl --- src/providers/ldap/sdap_async_groups.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/providers/ldap/sdap_async_groups.c b/src/providers/ldap/sdap_async_groups.c index 6f3c8b8eb..c44dabccb 100644 --- a/src/providers/ldap/sdap_async_groups.c +++ b/src/providers/ldap/sdap_async_groups.c @@ -191,6 +191,21 @@ sdap_dn_by_primary_gid(TALLOC_CTX *mem_ctx, struct sysdb_attrs *ldap_attrs, return EOK; } +static void link_pgroup_members(struct sysdb_attrs *group_attrs, + struct ldb_message_element *member_el, + char **userdns, + size_t nuserdns) +{ + int i; + + for (i=0; i < nuserdns; i++) { + member_el->values[member_el->num_values + i].data = (uint8_t *) \ + talloc_steal(group_attrs, userdns[i]); + member_el->values[member_el->num_values + i].length = strlen(userdns[i]); + } + member_el->num_values += nuserdns; +} + static int sdap_fill_memberships(struct sdap_options *opts, struct sysdb_attrs *group_attrs, struct sysdb_ctx *ctx, @@ -285,13 +300,7 @@ static int sdap_fill_memberships(struct sdap_options *opts, } el->num_values = j; - for (i=0; i < nuserdns; i++) { - el->values[el->num_values + i].data = (uint8_t *) \ - talloc_steal(group_attrs, userdns[i]); - el->values[el->num_values + i].length = strlen(userdns[i]); - } - el->num_values += nuserdns; - + link_pgroup_members(group_attrs, el, userdns, nuserdns); ret = EOK; done: -- cgit