>From 8164e510221bb63804168b112fab88bc309638b8 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Tue, 26 Aug 2014 11:11:15 +0200 Subject: [PATCH 1/2] 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. --- 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 a21b0332e0acc111d387cc39fe8009794a4baa43..c8e8932597da232a35c56321b213ef8528a85510 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: -- 1.9.3