summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/pyldb.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2009-07-18 16:11:21 +0200
committerJelmer Vernooij <jelmer@samba.org>2009-07-18 16:11:21 +0200
commitd356669492912ad97d031694123b628a9307c3bd (patch)
tree86f1e6d34980ef39c4d56b9e719195480b11817e /source4/lib/ldb/pyldb.c
parent8c5aff207d25764dd457050c2e5975b4b42c917f (diff)
downloadsamba-d356669492912ad97d031694123b628a9307c3bd.tar.gz
samba-d356669492912ad97d031694123b628a9307c3bd.tar.bz2
samba-d356669492912ad97d031694123b628a9307c3bd.zip
Remove pyldb_util and simply duplicate the 5-line function it contains,
rather than creating a separate shared library for it.
Diffstat (limited to 'source4/lib/ldb/pyldb.c')
-rw-r--r--source4/lib/ldb/pyldb.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/source4/lib/ldb/pyldb.c b/source4/lib/ldb/pyldb.c
index 2e0f4fdf36..bcca70eb82 100644
--- a/source4/lib/ldb/pyldb.c
+++ b/source4/lib/ldb/pyldb.c
@@ -41,6 +41,16 @@ typedef intargfunc ssizeargfunc;
#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
#endif
+static void PyErr_SetLdbError(PyObject *error, int ret, struct ldb_context *ldb_ctx)
+{
+ if (ret == LDB_ERR_PYTHON_EXCEPTION)
+ return; /* Python exception should already be set, just keep that */
+
+ PyErr_SetObject(error,
+ Py_BuildValue(discard_const_p(char, "(i,s)"), ret,
+ ldb_ctx == NULL?ldb_strerror(ret):ldb_errstring(ldb_ctx)));
+}
+
static PyObject *PyExc_LdbError;
PyAPI_DATA(PyTypeObject) PyLdbMessage;