Export functions for setting NTSTATUS and WERRORs in python.
[sfrench/samba-autobuild/.git] / source4 / libcli / util / errors.i
index 17efcbf62a8ca4e392b39b744c684c7ac14bdae2..1fcde04c8537a19538b5c7e9252a644314400eda 100644 (file)
 */
 
 #ifdef SWIGPYTHON
+%{
+#include "libcli/util/pyerrors.h"
+%}
+
 %typemap(out,noblock=1) WERROR {
     if (!W_ERROR_IS_OK($1)) {
-        PyObject *obj = Py_BuildValue((char *)"(i,s)", W_ERROR_V($1), win_errstr($1));
-        PyErr_SetObject(PyExc_RuntimeError, obj);
+        PyErr_SetWERROR($1);
         SWIG_fail;
     } else if ($result == NULL) {
         $result = Py_None;
@@ -30,8 +33,7 @@
 
 %typemap(out,noblock=1) NTSTATUS {
     if (NT_STATUS_IS_ERR($1)) {
-        PyObject *obj = Py_BuildValue((char *)"(i,s)", NT_STATUS_V($1), nt_errstr($1));
-        PyErr_SetObject(PyExc_RuntimeError, obj);
+        PyErr_SetNTSTATUS($1);
         SWIG_fail;
     } else if ($result == NULL) {
         $result = Py_None;