summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/tdb/pytdb.c6
-rw-r--r--lib/tevent/pytevent.c7
-rw-r--r--lib/util/python_util.h31
-rw-r--r--libcli/nbt/pynbt.c6
-rw-r--r--pidl/lib/Parse/Pidl/Samba4/Python.pm6
-rw-r--r--source4/auth/credentials/pycredentials.c6
-rw-r--r--source4/lib/com/pycom.c6
-rw-r--r--source4/lib/ldb/pyldb.c6
-rw-r--r--source4/lib/messaging/pymessaging.c6
-rw-r--r--source4/lib/registry/pyregistry.c6
-rw-r--r--source4/librpc/ndr/py_security.c6
-rw-r--r--source4/librpc/rpc/pyrpc.c6
-rw-r--r--source4/param/pyparam.c6
-rw-r--r--source4/scripting/python/pyglue.c6
-rw-r--r--source4/web_server/wsgi.c6
15 files changed, 71 insertions, 45 deletions
diff --git a/lib/tdb/pytdb.c b/lib/tdb/pytdb.c
index f2e094423c..15a8d8a3e2 100644
--- a/lib/tdb/pytdb.c
+++ b/lib/tdb/pytdb.c
@@ -24,7 +24,11 @@
License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
-#include "../lib/util/python_util.h"
+#include <Python.h>
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
#ifdef HAVE_FSTAT
#undef HAVE_FSTAT
#endif
diff --git a/lib/tevent/pytevent.c b/lib/tevent/pytevent.c
index 756d013ede..5d10554531 100644
--- a/lib/tevent/pytevent.c
+++ b/lib/tevent/pytevent.c
@@ -16,7 +16,12 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "../lib/util/python_util.h"
+#include <Python.h>
+
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
#include <tevent.h>
#include <stdbool.h>
#include <tevent_util.h>
diff --git a/lib/util/python_util.h b/lib/util/python_util.h
deleted file mode 100644
index 24033a48e7..0000000000
--- a/lib/util/python_util.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
- Samba Python utility functions
- Copyright (C) Tim Prouty <tprouty@samba.org> 2009
-
- 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/>.
-*/
-
-#ifndef _PYTHON_UTIL_H_
-#define _PYTHON_UTIL_H_
-
-#include <Python.h>
-
-#if PY_VERSION_HEX < 0x02040000
-#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
-#define Py_RETURN_TRUE return Py_INCREF(Py_True), Py_True
-#define Py_RETURN_FALSE return Py_INCREF(Py_False), Py_False
-#endif
-
-#endif /* _PYTHON_UTIL_H_ */
diff --git a/libcli/nbt/pynbt.c b/libcli/nbt/pynbt.c
index 99eff94bda..63ee9bb01f 100644
--- a/libcli/nbt/pynbt.c
+++ b/libcli/nbt/pynbt.c
@@ -18,12 +18,16 @@
*/
#include "includes.h"
-#include "../lib/util/python_util.h"
+#include <Python.h>
#include "libcli/util/pyerrors.h"
#include "scripting/python/modules.h"
#include "../libcli/nbt/libnbt.h"
#include "lib/events/events.h"
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
PyAPI_DATA(PyTypeObject) nbt_node_Type;
typedef struct {
diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm
index dd93605527..6d25fcd24f 100644
--- a/pidl/lib/Parse/Pidl/Samba4/Python.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm
@@ -1121,13 +1121,17 @@ sub Parse($$$$$)
$self->pidl_hdr("
/* Python wrapper functions auto-generated by pidl */
#include \"includes.h\"
-#include \"../lib/util/python_util.h\"
+#include <Python.h>
#include \"librpc/rpc/dcerpc.h\"
#include \"lib/talloc/pytalloc.h\"
#include \"librpc/rpc/pyrpc.h\"
#include \"$hdr\"
#include \"$ndr_hdr\"
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
");
foreach my $x (@$ndr) {
diff --git a/source4/auth/credentials/pycredentials.c b/source4/auth/credentials/pycredentials.c
index 6821170853..6fcab80ce6 100644
--- a/source4/auth/credentials/pycredentials.c
+++ b/source4/auth/credentials/pycredentials.c
@@ -17,7 +17,7 @@
*/
#include "includes.h"
-#include "../lib/util/python_util.h"
+#include <Python.h>
#include "pycredentials.h"
#include "param/param.h"
#include "lib/cmdline/credentials.h"
@@ -25,6 +25,10 @@
#include "libcli/util/pyerrors.h"
#include "param/pyparam.h"
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
struct cli_credentials *cli_credentials_from_py_object(PyObject *py_obj)
{
if (py_obj == Py_None) {
diff --git a/source4/lib/com/pycom.c b/source4/lib/com/pycom.c
index 753b7f8f9d..d5a07580ea 100644
--- a/source4/lib/com/pycom.c
+++ b/source4/lib/com/pycom.c
@@ -18,11 +18,15 @@
*/
#include "includes.h"
-#include "../lib/util/python_util.h"
+#include <Python.h>
#include "lib/com/com.h"
#include "librpc/ndr/libndr.h"
#include "libcli/util/pyerrors.h"
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
static struct com_context *py_com_ctx = NULL; /* FIXME: evil global */
static PyObject *py_get_class_object(PyObject *self, PyObject *args)
diff --git a/source4/lib/ldb/pyldb.c b/source4/lib/ldb/pyldb.c
index b7a78e8f53..89ef7aeddf 100644
--- a/source4/lib/ldb/pyldb.c
+++ b/source4/lib/ldb/pyldb.c
@@ -26,7 +26,7 @@
*/
#include "ldb_includes.h"
-#include "../lib/util/python_util.h"
+#include <Python.h>
#include "pyldb.h"
/* There's no Py_ssize_t in 2.4, apparently */
@@ -36,6 +36,10 @@ typedef inquiry lenfunc;
typedef intargfunc ssizeargfunc;
#endif
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
/* Picked out of thin air. To do this properly, we should probably have some part of the
* errors in LDB be allocated to bindings ? */
#define LDB_ERR_PYTHON_EXCEPTION 142
diff --git a/source4/lib/messaging/pymessaging.c b/source4/lib/messaging/pymessaging.c
index 3fa59bde57..535da4526c 100644
--- a/source4/lib/messaging/pymessaging.c
+++ b/source4/lib/messaging/pymessaging.c
@@ -20,7 +20,7 @@
*/
#include "includes.h"
-#include "../lib/util/python_util.h"
+#include <Python.h>
#include "scripting/python/modules.h"
#include "libcli/util/pyerrors.h"
#include "librpc/rpc/pyrpc.h"
@@ -30,6 +30,10 @@
#include "cluster/cluster.h"
#include "param/param.h"
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
PyAPI_DATA(PyTypeObject) messaging_Type;
PyAPI_DATA(PyTypeObject) irpc_ClientConnectionType;
diff --git a/source4/lib/registry/pyregistry.c b/source4/lib/registry/pyregistry.c
index c28fcaa685..166543b6fd 100644
--- a/source4/lib/registry/pyregistry.c
+++ b/source4/lib/registry/pyregistry.c
@@ -18,7 +18,7 @@
*/
#include "includes.h"
-#include "../lib/util/python_util.h"
+#include <Python.h>
#include "libcli/util/pyerrors.h"
#include "lib/registry/registry.h"
#include "scripting/python/modules.h" /* for py_iconv_convenience() */
@@ -26,6 +26,10 @@
#include <tevent.h>
#include "param/pyparam.h"
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
extern struct cli_credentials *cli_credentials_from_py_object(PyObject *py_obj);
PyAPI_DATA(PyTypeObject) PyRegistryKey;
diff --git a/source4/librpc/ndr/py_security.c b/source4/librpc/ndr/py_security.c
index 5311ce18f4..08542640b9 100644
--- a/source4/librpc/ndr/py_security.c
+++ b/source4/librpc/ndr/py_security.c
@@ -16,9 +16,13 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "../lib/util/python_util.h"
+#include <Python.h>
#include "libcli/security/security.h"
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
static void PyType_AddMethods(PyTypeObject *type, PyMethodDef *methods)
{
PyObject *dict;
diff --git a/source4/librpc/rpc/pyrpc.c b/source4/librpc/rpc/pyrpc.c
index 1f29ad143e..371e111c67 100644
--- a/source4/librpc/rpc/pyrpc.c
+++ b/source4/librpc/rpc/pyrpc.c
@@ -18,13 +18,17 @@
*/
#include "includes.h"
-#include "../lib/util/python_util.h"
+#include <Python.h>
#include <structmember.h>
#include "librpc/rpc/pyrpc.h"
#include "librpc/rpc/dcerpc.h"
#include "lib/events/events.h"
#include "param/pyparam.h"
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
static PyObject *py_dcerpc_run_function(dcerpc_InterfaceObject *iface, struct PyNdrRpcMethodDef *md, PyObject *args, PyObject *kwargs)
{
TALLOC_CTX *mem_ctx;
diff --git a/source4/param/pyparam.c b/source4/param/pyparam.c
index 1eef02ba39..2d5a584fb2 100644
--- a/source4/param/pyparam.c
+++ b/source4/param/pyparam.c
@@ -23,7 +23,7 @@
#include "includes.h"
#include "param/param.h"
#include "param/loadparm.h"
-#include "../lib/util/python_util.h"
+#include <Python.h>
#include "pytalloc.h"
/* There's no Py_ssize_t in 2.4, apparently */
@@ -32,6 +32,10 @@ typedef int Py_ssize_t;
typedef inquiry lenfunc;
#endif
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
#define PyLoadparmContext_AsLoadparmContext(obj) py_talloc_get_ptr(obj)
PyAPI_DATA(PyTypeObject) PyLoadparmContext;
diff --git a/source4/scripting/python/pyglue.c b/source4/scripting/python/pyglue.c
index b11b5a5add..a2c4790611 100644
--- a/source4/scripting/python/pyglue.c
+++ b/source4/scripting/python/pyglue.c
@@ -25,13 +25,17 @@
#include "lib/ldb-samba/ldif_handlers.h"
#include "librpc/ndr/libndr.h"
#include "version.h"
-#include "../lib/util/python_util.h"
+#include <Python.h>
#include "lib/ldb/pyldb.h"
#include "libcli/util/pyerrors.h"
#include "libcli/security/security.h"
#include "auth/pyauth.h"
#include "param/pyparam.h"
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
+
/* FIXME: These should be in a header file somewhere, once we finish moving
* away from SWIG .. */
extern struct cli_credentials *cli_credentials_from_py_object(PyObject *py_obj);
diff --git a/source4/web_server/wsgi.c b/source4/web_server/wsgi.c
index 8ec30a476a..53ba2a2d9b 100644
--- a/source4/web_server/wsgi.c
+++ b/source4/web_server/wsgi.c
@@ -25,7 +25,11 @@
#include "../lib/util/dlinklist.h"
#include "../lib/util/data_blob.h"
#include "lib/tls/tls.h"
-#include "../lib/util/python_util.h"
+#include <Python.h>
+
+#ifndef Py_RETURN_NONE
+#define Py_RETURN_NONE return Py_INCREF(Py_None), Py_None
+#endif
typedef struct {
PyObject_HEAD