git.samba.org
/
kamenim
/
samba.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4f137b2
)
s4-pyldb: Use ldb_msg_diff_ex() in py_ldb_msg_diff()
author
Kamen Mazdrashki
<kamenim@samba.org>
Fri, 9 Jul 2010 03:38:11 +0000
(06:38 +0300)
committer
Kamen Mazdrashki
<kamenim@samba.org>
Sat, 10 Jul 2010 20:03:13 +0000
(23:03 +0300)
source4/lib/ldb/pyldb.c
patch
|
blob
|
history
diff --git
a/source4/lib/ldb/pyldb.c
b/source4/lib/ldb/pyldb.c
index b886a4b81c8af31053de064461ecd6f8dc1824ce..925ea5232aaf833be2475266ac2eabe851d73e5e 100644
(file)
--- a/
source4/lib/ldb/pyldb.c
+++ b/
source4/lib/ldb/pyldb.c
@@
-1035,9
+1035,11
@@
static PyObject *py_ldb_parse_ldif(PyLdbObject *self, PyObject *args)
static PyObject *py_ldb_msg_diff(PyLdbObject *self, PyObject *args)
{
static PyObject *py_ldb_msg_diff(PyLdbObject *self, PyObject *args)
{
+ int ldb_ret;
PyObject *py_msg_old;
PyObject *py_msg_new;
struct ldb_message *diff;
PyObject *py_msg_old;
PyObject *py_msg_new;
struct ldb_message *diff;
+ struct ldb_context *ldb;
PyObject *py_ret;
if (!PyArg_ParseTuple(args, "OO", &py_msg_old, &py_msg_new))
PyObject *py_ret;
if (!PyArg_ParseTuple(args, "OO", &py_msg_old, &py_msg_new))
@@
-1053,14
+1055,20
@@
static PyObject *py_ldb_msg_diff(PyLdbObject *self, PyObject *args)
return NULL;
}
return NULL;
}
- diff = ldb_msg_diff(PyLdb_AsLdbContext(self), PyLdbMessage_AsMessage(py_msg_old), PyLdbMessage_AsMessage(py_msg_new));
- if (!diff) {
+ ldb = PyLdb_AsLdbContext(self);
+ ldb_ret = ldb_msg_diff_ex(ldb,
+ PyLdbMessage_AsMessage(py_msg_old),
+ PyLdbMessage_AsMessage(py_msg_new),
+ (TALLOC_CTX*)ldb, &diff);
+ if (ldb_ret != LDB_SUCCESS) {
PyErr_SetString(PyExc_RuntimeError, "Failed to generate the Ldb Message diff");
return NULL;
}
py_ret = PyLdbMessage_FromMessage(diff);
PyErr_SetString(PyExc_RuntimeError, "Failed to generate the Ldb Message diff");
return NULL;
}
py_ret = PyLdbMessage_FromMessage(diff);
+ talloc_unlink(ldb, diff);
+
return py_ret;
}
return py_ret;
}