From ff4797a9e4b01fe8cc9421e911371677433d070c Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 12 Feb 2005 11:30:33 +0000 Subject: r5357: added ldb_msg_add_fmt(), for creating formatted ldb record values (This used to be commit 18fb48204f4c0e22ea7e61575b3f174f30ff035c) --- source4/lib/ldb/common/ldb_msg.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'source4/lib/ldb/common') diff --git a/source4/lib/ldb/common/ldb_msg.c b/source4/lib/ldb/common/ldb_msg.c index 3ef25e566f..b145565a84 100644 --- a/source4/lib/ldb/common/ldb_msg.c +++ b/source4/lib/ldb/common/ldb_msg.c @@ -212,6 +212,28 @@ int ldb_msg_add_string(struct ldb_context *ldb, struct ldb_message *msg, return ldb_msg_add_value(ldb, msg, attr_name, &val); } +/* + add a printf formatted element to a message +*/ +int ldb_msg_add_fmt(struct ldb_context *ldb, struct ldb_message *msg, + const char *attr_name, const char *fmt, ...) +{ + struct ldb_val val; + va_list ap; + char *str; + + va_start(ap, fmt); + str = talloc_vasprintf(msg, fmt, ap); + va_end(ap); + + if (str == NULL) return -1; + + val.data = str; + val.length = strlen(str); + + return ldb_msg_add_value(ldb, msg, attr_name, &val); +} + /* compare two ldb_message_element structures assumes case senistive comparison -- cgit