From: Tim Prouty Date: Wed, 7 Jan 2009 22:33:25 +0000 (-0800) Subject: s3/s4 build: Fix Py_RETURN_NONE to work with python versions < 2.4 X-Git-Tag: samba-4.0.0alpha6~223 X-Git-Url: http://git.samba.org/samba.git/?p=ira%2Fwip.git;a=commitdiff_plain;h=61a23c5eea2203721a70a4ad41bfdc6cd1d6a2a7 s3/s4 build: Fix Py_RETURN_NONE to work with python versions < 2.4 --- diff --git a/lib/tdb/pytdb.c b/lib/tdb/pytdb.c index 88f6f4ef73d..f2e094423ce 100644 --- a/lib/tdb/pytdb.c +++ b/lib/tdb/pytdb.c @@ -24,7 +24,7 @@ License along with this library; if not, see . */ -#include +#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 f8e648157dc..756d013ede8 100644 --- a/lib/tevent/pytevent.c +++ b/lib/tevent/pytevent.c @@ -16,7 +16,7 @@ along with this program. If not, see . */ -#include +#include "../lib/util/python_util.h" #include #include #include diff --git a/lib/util/python_util.h b/lib/util/python_util.h new file mode 100644 index 00000000000..24033a48e7b --- /dev/null +++ b/lib/util/python_util.h @@ -0,0 +1,31 @@ +/* + Unix SMB/CIFS implementation. + Samba Python utility functions + Copyright (C) Tim Prouty 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 . +*/ + +#ifndef _PYTHON_UTIL_H_ +#define _PYTHON_UTIL_H_ + +#include + +#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 8a6d4591601..99eff94bda3 100644 --- a/libcli/nbt/pynbt.c +++ b/libcli/nbt/pynbt.c @@ -18,7 +18,7 @@ */ #include "includes.h" -#include +#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 938ea360285..dd93605527b 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 +#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 903ca2f267a..6821170853f 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 55f1fd21be8..753b7f8f9da 100644 --- a/source4/lib/com/pycom.c +++ b/source4/lib/com/pycom.c @@ -18,7 +18,7 @@ */ #include "includes.h" -#include +#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 521fa498aa5..b7a78e8f531 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 4b092e873ae..3fa59bde573 100644 --- a/source4/lib/messaging/pymessaging.c +++ b/source4/lib/messaging/pymessaging.c @@ -20,7 +20,7 @@ */ #include "includes.h" -#include +#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 444b80a6fef..c28fcaa6851 100644 --- a/source4/lib/registry/pyregistry.c +++ b/source4/lib/registry/pyregistry.c @@ -18,7 +18,7 @@ */ #include "includes.h" -#include +#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 73837b67ef8..5311ce18f4e 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 . */ +#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 b841fdad651..1f29ad143ef 100644 --- a/source4/librpc/rpc/pyrpc.c +++ b/source4/librpc/rpc/pyrpc.c @@ -18,7 +18,7 @@ */ #include "includes.h" -#include +#include "../lib/util/python_util.h" #include #include "librpc/rpc/pyrpc.h" #include "librpc/rpc/dcerpc.h" diff --git a/source4/param/pyparam.c b/source4/param/pyparam.c index f6a0b4f6749..1eef02ba39e 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 6939979f18f..b11b5a5add5 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 +#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 762de55f695..8ec30a476a5 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 +#include "../lib/util/python_util.h" typedef struct { PyObject_HEAD