summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/tdb/pytdb.c2
-rw-r--r--lib/tevent/pytevent.c2
-rw-r--r--lib/util/python_util.h31
-rw-r--r--libcli/nbt/pynbt.c2
-rw-r--r--pidl/lib/Parse/Pidl/Samba4/Python.pm2
-rw-r--r--source4/auth/credentials/pycredentials.c1
-rw-r--r--source4/lib/com/pycom.c2
-rw-r--r--source4/lib/ldb/pyldb.c1
-rw-r--r--source4/lib/messaging/pymessaging.c2
-rw-r--r--source4/lib/registry/pyregistry.c2
-rw-r--r--source4/librpc/ndr/py_security.c1
-rw-r--r--source4/librpc/rpc/pyrpc.c2
-rw-r--r--source4/param/pyparam.c1
-rw-r--r--source4/scripting/python/pyglue.c2
-rw-r--r--source4/web_server/wsgi.c2
15 files changed, 45 insertions, 10 deletions
diff --git a/lib/tdb/pytdb.c b/lib/tdb/pytdb.c
index 88f6f4ef73..f2e094423c 100644
--- a/lib/tdb/pytdb.c
+++ b/lib/tdb/pytdb.c
@@ -24,7 +24,7 @@
License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
-#include <Python.h>
+#include "../lib/util/python_util.h"
#ifdef HAVE_FSTAT
#undef HAVE_FSTAT
#endif
diff --git a/lib/tevent/pytevent.c b/lib/tevent/pytevent.c
index f8e648157d..756d013ede 100644
--- a/lib/tevent/pytevent.c
+++ b/lib/tevent/pytevent.c
@@ -16,7 +16,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <Python.h>
+#include "../lib/util/python_util.h"
#include <tevent.h>
#include <stdbool.h>
#include <tevent_util.h>
diff --git a/lib/util/python_util.h b/lib/util/python_util.h
new file mode 100644
index 0000000000..24033a48e7
--- /dev/null
+++ b/lib/util/python_util.h
@@ -0,0 +1,31 @@
+/*
+ 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 8a6d459160..99eff94bda 100644
--- a/libcli/nbt/pynbt.c
+++ b/libcli/nbt/pynbt.c
@@ -18,7 +18,7 @@
*/
#include "includes.h"
-#include <Python.h>
+#include "../lib/util/python_util.h"
#include "libcli/util/pyerrors.h"
#include "scripting/python/modules.h"
#include "../libcli/nbt/libnbt.h"
diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm
index 938ea36028..dd93605527 100644
--- a/pidl/lib/Parse/Pidl/Samba4/Python.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm
@@ -1121,7 +1121,7 @@ sub Parse($$$$$)
$self->pidl_hdr("
/* Python wrapper functions auto-generated by pidl */
#include \"includes.h\"
-#include <Python.h>
+#include \"../lib/util/python_util.h\"
#include \"librpc/rpc/dcerpc.h\"
#include \"lib/talloc/pytalloc.h\"
#include \"librpc/rpc/pyrpc.h\"
diff --git a/source4/auth/credentials/pycredentials.c b/source4/auth/credentials/pycredentials.c
index 903ca2f267..6821170853 100644
--- a/source4/auth/credentials/pycredentials.c
+++ b/source4/auth/credentials/pycredentials.c
@@ -17,6 +17,7 @@
*/
#include "includes.h"
+#include "../lib/util/python_util.h"
#include "pycredentials.h"
#include "param/param.h"
#include "lib/cmdline/credentials.h"
diff --git a/source4/lib/com/pycom.c b/source4/lib/com/pycom.c
index 55f1fd21be..753b7f8f9d 100644
--- a/source4/lib/com/pycom.c
+++ b/source4/lib/com/pycom.c
@@ -18,7 +18,7 @@
*/
#include "includes.h"
-#include <Python.h>
+#include "../lib/util/python_util.h"
#include "lib/com/com.h"
#include "librpc/ndr/libndr.h"
#include "libcli/util/pyerrors.h"
diff --git a/source4/lib/ldb/pyldb.c b/source4/lib/ldb/pyldb.c
index 521fa498aa..b7a78e8f53 100644
--- a/source4/lib/ldb/pyldb.c
+++ b/source4/lib/ldb/pyldb.c
@@ -26,6 +26,7 @@
*/
#include "ldb_includes.h"
+#include "../lib/util/python_util.h"
#include "pyldb.h"
/* There's no Py_ssize_t in 2.4, apparently */
diff --git a/source4/lib/messaging/pymessaging.c b/source4/lib/messaging/pymessaging.c
index 4b092e873a..3fa59bde57 100644
--- a/source4/lib/messaging/pymessaging.c
+++ b/source4/lib/messaging/pymessaging.c
@@ -20,7 +20,7 @@
*/
#include "includes.h"
-#include <Python.h>
+#include "../lib/util/python_util.h"
#include "scripting/python/modules.h"
#include "libcli/util/pyerrors.h"
#include "librpc/rpc/pyrpc.h"
diff --git a/source4/lib/registry/pyregistry.c b/source4/lib/registry/pyregistry.c
index 444b80a6fe..c28fcaa685 100644
--- a/source4/lib/registry/pyregistry.c
+++ b/source4/lib/registry/pyregistry.c
@@ -18,7 +18,7 @@
*/
#include "includes.h"
-#include <Python.h>
+#include "../lib/util/python_util.h"
#include "libcli/util/pyerrors.h"
#include "lib/registry/registry.h"
#include "scripting/python/modules.h" /* for py_iconv_convenience() */
diff --git a/source4/librpc/ndr/py_security.c b/source4/librpc/ndr/py_security.c
index 73837b67ef..5311ce18f4 100644
--- a/source4/librpc/ndr/py_security.c
+++ b/source4/librpc/ndr/py_security.c
@@ -16,6 +16,7 @@
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 "libcli/security/security.h"
static void PyType_AddMethods(PyTypeObject *type, PyMethodDef *methods)
diff --git a/source4/librpc/rpc/pyrpc.c b/source4/librpc/rpc/pyrpc.c
index b841fdad65..1f29ad143e 100644
--- a/source4/librpc/rpc/pyrpc.c
+++ b/source4/librpc/rpc/pyrpc.c
@@ -18,7 +18,7 @@
*/
#include "includes.h"
-#include <Python.h>
+#include "../lib/util/python_util.h"
#include <structmember.h>
#include "librpc/rpc/pyrpc.h"
#include "librpc/rpc/dcerpc.h"
diff --git a/source4/param/pyparam.c b/source4/param/pyparam.c
index f6a0b4f674..1eef02ba39 100644
--- a/source4/param/pyparam.c
+++ b/source4/param/pyparam.c
@@ -23,6 +23,7 @@
#include "includes.h"
#include "param/param.h"
#include "param/loadparm.h"
+#include "../lib/util/python_util.h"
#include "pytalloc.h"
/* There's no Py_ssize_t in 2.4, apparently */
diff --git a/source4/scripting/python/pyglue.c b/source4/scripting/python/pyglue.c
index 6939979f18..b11b5a5add 100644
--- a/source4/scripting/python/pyglue.c
+++ b/source4/scripting/python/pyglue.c
@@ -25,7 +25,7 @@
#include "lib/ldb-samba/ldif_handlers.h"
#include "librpc/ndr/libndr.h"
#include "version.h"
-#include <Python.h>
+#include "../lib/util/python_util.h"
#include "lib/ldb/pyldb.h"
#include "libcli/util/pyerrors.h"
#include "libcli/security/security.h"
diff --git a/source4/web_server/wsgi.c b/source4/web_server/wsgi.c
index 762de55f69..8ec30a476a 100644
--- a/source4/web_server/wsgi.c
+++ b/source4/web_server/wsgi.c
@@ -25,7 +25,7 @@
#include "../lib/util/dlinklist.h"
#include "../lib/util/data_blob.h"
#include "lib/tls/tls.h"
-#include <Python.h>
+#include "../lib/util/python_util.h"
typedef struct {
PyObject_HEAD