From: Günther Deschner Date: Mon, 10 Nov 2008 19:35:32 +0000 (+0100) Subject: s4-dsdb: add samdb_result_parameters. X-Git-Tag: samba-4.0.0alpha6~480^2~252^2~46 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e78379be0b829da3d41971182f468892a623dd7e;p=thirdparty%2Fsamba.git s4-dsdb: add samdb_result_parameters. Guenther --- diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c index 69e456274c8..de2073fee04 100644 --- a/source4/dsdb/common/util.c +++ b/source4/dsdb/common/util.c @@ -657,6 +657,28 @@ uint32_t samdb_result_acct_flags(struct ldb_context *sam_ctx, TALLOC_CTX *mem_ct return acct_flags; } +struct lsa_BinaryString samdb_result_parameters(TALLOC_CTX *mem_ctx, + struct ldb_message *msg, + const char *attr) +{ + struct lsa_BinaryString s; + const struct ldb_val *val = ldb_msg_find_ldb_val(msg, attr); + + ZERO_STRUCT(s); + + if (!val) { + return s; + } + + s.array = talloc_array(mem_ctx, uint16_t, val->length/2); + if (!s.array) { + return s; + } + s.length = s.size = val->length/2; + memcpy(s.array, val->data, val->length); + + return s; +} /* Find an attribute, with a particular value */