From 82675f70d2f42e10c8f7f4e4a86d542b86566700 Mon Sep 17 00:00:00 2001 From: Kamen Mazdrashki Date: Fri, 9 Jul 2010 21:44:44 +0300 Subject: [PATCH] s4-ldb: Use _ldb_msg_add_el() in ldb_msg_add_empty() --- source4/lib/ldb/common/ldb_msg.c | 39 ++++++++++++++------------------ 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/source4/lib/ldb/common/ldb_msg.c b/source4/lib/ldb/common/ldb_msg.c index 678fbcd00d..75c6165720 100644 --- a/source4/lib/ldb/common/ldb_msg.c +++ b/source4/lib/ldb/common/ldb_msg.c @@ -143,37 +143,32 @@ static int _ldb_msg_add_el(struct ldb_message *msg, return LDB_SUCCESS; } -/* - add an empty element to a message -*/ -int ldb_msg_add_empty( struct ldb_message *msg, - const char *attr_name, - int flags, - struct ldb_message_element **return_el) +/** + * Add an empty element with a given name to a message + */ +int ldb_msg_add_empty(struct ldb_message *msg, + const char *attr_name, + int flags, + struct ldb_message_element **return_el) { - struct ldb_message_element *els; + int ret; + struct ldb_message_element *el; - els = talloc_realloc(msg, msg->elements, - struct ldb_message_element, msg->num_elements+1); - if (!els) { - errno = ENOMEM; - return LDB_ERR_OPERATIONS_ERROR; + ret = _ldb_msg_add_el(msg, &el); + if (ret != LDB_SUCCESS) { + return ret; } - els[msg->num_elements].values = NULL; - els[msg->num_elements].num_values = 0; - els[msg->num_elements].flags = flags; - els[msg->num_elements].name = talloc_strdup(els, attr_name); - if (!els[msg->num_elements].name) { + /* initialize newly added element */ + el->flags = flags; + el->name = talloc_strdup(msg->elements, attr_name); + if (!el->name) { errno = ENOMEM; return LDB_ERR_OPERATIONS_ERROR; } - msg->elements = els; - msg->num_elements++; - if (return_el) { - *return_el = &els[msg->num_elements-1]; + *return_el = el; } return LDB_SUCCESS; -- 2.34.1