diff options
Diffstat (limited to 'source4/scripting/python')
| -rw-r--r-- | source4/scripting/python/pyglue.c | 9 | 
1 files changed, 9 insertions, 0 deletions
diff --git a/source4/scripting/python/pyglue.c b/source4/scripting/python/pyglue.c index c6b731ce8b..0869d2feac 100644 --- a/source4/scripting/python/pyglue.c +++ b/source4/scripting/python/pyglue.c @@ -46,6 +46,15 @@  	} */\  	ldb = PyLdb_AsLdbContext(py_ldb); +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 *py_ldb_get_exception(void)  {  | 
