From c9da3122c845054e93f25c723f4dd9791bfbd853 Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Wed, 6 Oct 2010 19:11:58 +0200 Subject: s4:dsdb/common/util.c - provide message set functions for integer types They will be used by the samldb LDB module --- source4/dsdb/common/util.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'source4') diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c index faf2fb5f96..71215212fc 100644 --- a/source4/dsdb/common/util.c +++ b/source4/dsdb/common/util.c @@ -1101,6 +1101,37 @@ int samdb_msg_set_string(struct ldb_context *sam_ldb, TALLOC_CTX *mem_ctx, struc return samdb_msg_add_string(sam_ldb, mem_ctx, msg, attr_name, str); } +/* + * sets a signed integer in a message + */ +int samdb_msg_set_int(struct ldb_context *sam_ldb, TALLOC_CTX *mem_ctx, + struct ldb_message *msg, const char *attr_name, int v) +{ + struct ldb_message_element *el; + + el = ldb_msg_find_element(msg, attr_name); + if (el) { + el->num_values = 0; + } + return samdb_msg_add_int(sam_ldb, mem_ctx, msg, attr_name, v); +} + +/* + * sets an unsigned integer in a message + */ +int samdb_msg_set_uint(struct ldb_context *sam_ldb, TALLOC_CTX *mem_ctx, + struct ldb_message *msg, const char *attr_name, + unsigned int v) +{ + struct ldb_message_element *el; + + el = ldb_msg_find_element(msg, attr_name); + if (el) { + el->num_values = 0; + } + return samdb_msg_add_uint(sam_ldb, mem_ctx, msg, attr_name, v); +} + /* * Handle ldb_request in transaction */ -- cgit