From 430cc9ad62e0d7d1bd8dc7c65be2bfcf087c5e5c Mon Sep 17 00:00:00 2001 From: Pavel Březina Date: Tue, 18 Feb 2014 13:19:33 +0100 Subject: sdap: move sdap_get_id_specific_filter() to sdap_utils.c Reviewed-by: Jakub Hrozek --- src/providers/ldap/sdap_utils.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/providers/ldap/sdap_utils.c') diff --git a/src/providers/ldap/sdap_utils.c b/src/providers/ldap/sdap_utils.c index d1e886d4c..9653639c9 100644 --- a/src/providers/ldap/sdap_utils.c +++ b/src/providers/ldap/sdap_utils.c @@ -158,3 +158,23 @@ errno_t deref_string_to_val(const char *str, int *val) return EOK; } + +char *sdap_get_id_specific_filter(TALLOC_CTX *mem_ctx, + const char *base_filter, + const char *extra_filter) +{ + char *filter = NULL; + + if (!extra_filter) { + return talloc_strdup(mem_ctx, base_filter); + } + + if (extra_filter[0] == '(') { + filter = talloc_asprintf(mem_ctx, "(&%s%s)", + base_filter, extra_filter); + } else { + filter = talloc_asprintf(mem_ctx, "(&%s(%s))", + base_filter, extra_filter); + } + return filter; /* NULL or not */ +} -- cgit