summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/auth/credentials/pycredentials.c6
-rw-r--r--source4/libcli/security/security.i34
-rw-r--r--source4/libcli/util/errors.i54
3 files changed, 35 insertions, 59 deletions
diff --git a/source4/auth/credentials/pycredentials.c b/source4/auth/credentials/pycredentials.c
index 9922549e2d..5f3801cdf6 100644
--- a/source4/auth/credentials/pycredentials.c
+++ b/source4/auth/credentials/pycredentials.c
@@ -32,10 +32,8 @@ struct cli_credentials *cli_credentials_from_py_object(PyObject *py_obj)
return cli_credentials_init_anon(NULL);
}
- if (PyCredentials_Check(py_obj))
- return PyCredentials_AsCliCredentials(py_obj);
-
- return NULL;
+ /* FIXME: Check type? */
+ return PyCredentials_AsCliCredentials(py_obj);
}
static PyObject *PyString_FromStringOrNULL(const char *str)
diff --git a/source4/libcli/security/security.i b/source4/libcli/security/security.i
index 420439d147..80efdc8682 100644
--- a/source4/libcli/security/security.i
+++ b/source4/libcli/security/security.i
@@ -28,7 +28,39 @@ typedef struct security_descriptor security_descriptor;
%}
%import "../lib/talloc/talloc.i"
-%include "../util/errors.i"
+%{
+#include "libcli/util/pyerrors.h"
+%}
+
+%typemap(out,noblock=1) WERROR {
+ if (!W_ERROR_IS_OK($1)) {
+ PyErr_SetWERROR($1);
+ SWIG_fail;
+ } else if ($result == NULL) {
+ $result = Py_None;
+ }
+};
+
+%typemap(out,noblock=1) NTSTATUS {
+ if (NT_STATUS_IS_ERR($1)) {
+ PyErr_SetNTSTATUS($1);
+ SWIG_fail;
+ } else if ($result == NULL) {
+ $result = Py_None;
+ }
+};
+
+%typemap(in,noblock=1) NTSTATUS {
+ if (PyLong_Check($input))
+ $1 = NT_STATUS(PyLong_AsUnsignedLong($input));
+ else if (PyInt_Check($input))
+ $1 = NT_STATUS(PyInt_AsLong($input));
+ else {
+ PyErr_SetString(PyExc_TypeError, "Expected a long or an int");
+ return NULL;
+ }
+}
+
%import "stdint.i"
enum sec_privilege {
diff --git a/source4/libcli/util/errors.i b/source4/libcli/util/errors.i
deleted file mode 100644
index 1fcde04c85..0000000000
--- a/source4/libcli/util/errors.i
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
- Copyright (C) Jelmer Vernooij <jelmer@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
-%{
-#include "libcli/util/pyerrors.h"
-%}
-
-%typemap(out,noblock=1) WERROR {
- if (!W_ERROR_IS_OK($1)) {
- PyErr_SetWERROR($1);
- SWIG_fail;
- } else if ($result == NULL) {
- $result = Py_None;
- }
-};
-
-%typemap(out,noblock=1) NTSTATUS {
- if (NT_STATUS_IS_ERR($1)) {
- PyErr_SetNTSTATUS($1);
- SWIG_fail;
- } else if ($result == NULL) {
- $result = Py_None;
- }
-};
-
-%typemap(in,noblock=1) NTSTATUS {
- if (PyLong_Check($input))
- $1 = NT_STATUS(PyLong_AsUnsignedLong($input));
- else if (PyInt_Check($input))
- $1 = NT_STATUS(PyInt_AsLong($input));
- else {
- PyErr_SetString(PyExc_TypeError, "Expected a long or an int");
- return NULL;
- }
-}
-
-#endif