Author: jelmer
Date: 2007-11-21 12:31:29 +0000 (Wed, 21 Nov 2007)
New Revision: 26074

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26074

Log:
Add SWIG magic for NTSTATUS and WERROR return codes.
Added:
   branches/SAMBA_4_0/source/libcli/util/errors.i
Modified:
   branches/SAMBA_4_0/


Changeset:

Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:file-ids
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...

Added: branches/SAMBA_4_0/source/libcli/util/errors.i
===================================================================
--- branches/SAMBA_4_0/source/libcli/util/errors.i      2007-11-21 12:31:26 UTC 
(rev 26073)
+++ branches/SAMBA_4_0/source/libcli/util/errors.i      2007-11-21 12:31:29 UTC 
(rev 26074)
@@ -0,0 +1,39 @@
+/* 
+   Unix SMB/CIFS implementation.
+   Copyright (C) Jelmer Vernooij <[EMAIL PROTECTED]> 2007
+   Copyright (C) Tim Potter 2004
+   
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifdef SWIGPYTHON
+%typemap(out) WERROR {
+    if (!W_ERROR_IS_OK($1)) {
+        PyObject *obj = Py_BuildValue("(i,s)", $1.v, win_errstr($1));
+        PyErr_SetObject(PyExc_RuntimeError, obj);
+    } else if ($result == NULL) {
+        $result = Py_None;
+    }
+};
+
+%typemap(out) NTSTATUS {
+    if (NT_STATUS_IS_ERR($1)) {
+        PyObject *obj = Py_BuildValue("(i,s)", $1.v, nt_errstr($1));
+        PyErr_SetObject(PyExc_RuntimeError, obj);
+    } else if ($result == NULL) {
+        $result = Py_None;
+    }
+};
+
+#endif

Reply via email to