From 83bb73c94b07f3ded16d6348e75ecd9de732068c Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Mon, 8 Sep 2008 18:46:39 -0400 Subject: - add a way to create an SDN list using an array of strings --- src/format.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'src/format.c') diff --git a/src/format.c b/src/format.c index 8db5d0a..c0fa859 100644 --- a/src/format.c +++ b/src/format.c @@ -102,7 +102,7 @@ xmemdup(char *region, int size) } /* Maintain a DN list, which is list of distinguished names. */ -static void +void format_free_sdn_list(struct slapi_dn **list) { unsigned int i; @@ -114,7 +114,7 @@ format_free_sdn_list(struct slapi_dn **list) } } -static struct slapi_dn ** +struct slapi_dn ** format_dup_sdn_list(struct slapi_dn **list) { struct slapi_dn **ret; @@ -132,7 +132,25 @@ format_dup_sdn_list(struct slapi_dn **list) return ret; } -static struct slapi_dn ** +struct slapi_dn ** +format_make_sdn_list(char **list) +{ + struct slapi_dn **ret; + unsigned int i; + for (i = 0; (list != NULL) && (list[i] != NULL); i++) { + continue; + } + ret = malloc((i + 1) * sizeof(struct slapi_dn*)); + if (ret != NULL) { + for (i = 0; (list != NULL) && (list[i] != NULL); i++) { + ret[i] = slapi_sdn_new_dn_byval(list[i]); + } + ret[i] = NULL; + } + return ret; +} + +struct slapi_dn ** format_add_sdn_list(struct slapi_dn ***list, const char *dn) { struct slapi_dn **ret, *sdn; -- cgit