svn commit: samba r26074 - in branches/SAMBA_4_0: . source/libcli/util

jelmer at samba.org jelmer at samba.org
Wed Nov 21 12:31:30 GMT 2007


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 <jelmer at samba.org> 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



More information about the samba-cvs mailing list