s3/s4 build: Fix Py_RETURN_NONE to work with python versions < 2.4
authorTim Prouty <tprouty@samba.org>
Wed, 7 Jan 2009 22:33:25 +0000 (14:33 -0800)
committerTim Prouty <tprouty@samba.org>
Wed, 7 Jan 2009 23:03:16 +0000 (15:03 -0800)
15 files changed:
lib/tdb/pytdb.c
lib/tevent/pytevent.c
lib/util/python_util.h [new file with mode: 0644]
libcli/nbt/pynbt.c
pidl/lib/Parse/Pidl/Samba4/Python.pm
source4/auth/credentials/pycredentials.c
source4/lib/com/pycom.c
source4/lib/ldb/pyldb.c
source4/lib/messaging/pymessaging.c
source4/lib/registry/pyregistry.c
source4/librpc/ndr/py_security.c
source4/librpc/rpc/pyrpc.c
source4/param/pyparam.c
source4/scripting/python/pyglue.c
source4/web_server/wsgi.c

index 88f6f4ef73d3051638a3bf103d7ad20d381917c6..f2e094423cee72271881a1a9f26d039b829f1d59 100644 (file)
@@ -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
index f8e648157dc04544590f36ea1df2796791b5dae5..756d013ede83b771aee82e6c5d2535ca1c2f0e0d 100644 (file)
@@ -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 (file)
index 0000000..24033a4
--- /dev/null
@@ -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_ */
index 8a6d459160102ccf377e3ba6766b8d24742424f4..99eff94bda3ade4bf8f331fca3df38608cafb83a 100644 (file)
@@ -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"
index 938ea360285c5086f6a75a8050ad4826c87cb436..dd93605527b90e780d32f2a928a1196b5cfe7a36 100644 (file)
@@ -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\"
index 903ca2f267a63f0871044c7e99442930a6487f5d..6821170853f757e9e81c578c81483716d3ce5b7f 100644 (file)
@@ -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"
index 55f1fd21be886a8c7a78e3094c97696c2bed5fa6..753b7f8f9dabee4bd288eb3f6aa5f1659f38b641 100644 (file)
@@ -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"
index 521fa498aa568ea2e4cedb345583fd60baae24c6..b7a78e8f531607ff48a05e287d0af776eca865da 100644 (file)
@@ -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 */
index 4b092e873aef40a3f14d149d72386dc9643c5779..3fa59bde573696defcff6cd800e1bb7d029e6ae3 100644 (file)
@@ -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"
index 444b80a6fef7986fcc7f9b2782b454a4ff718bec..c28fcaa6851cddac0a132713120c064c02f32bb3 100644 (file)
@@ -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() */
index 73837b67ef8cb0b5acf9a919d5c107ce506870f9..5311ce18f4e0b2b5e43332ecbbed4df58b363bbb 100644 (file)
@@ -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)
index b841fdad651dc0e8a30c9ae97e5d38bbe39280ea..1f29ad143ef729cd9675f329d5e78e6f86e16ad3 100644 (file)
@@ -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"
index f6a0b4f6749ba30c1f826d6c26cb8d9793340ebf..1eef02ba39e301611fa86469a8ba9be026d0eea6 100644 (file)
@@ -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 */
index 6939979f18f4fdc77382c8ce4e5603acd7f1a814..b11b5a5add5717d11895c9bb68b27b6078b4d672 100644 (file)
@@ -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"
index 762de55f695c2ede4cfe7a8000c0d9f73a7ffd9b..8ec30a476a514976a4ee37eaf8300ad999ad2482 100644 (file)
@@ -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