diff options
author | Bohuslav Kabrda <bkabrda@redhat.com> | 2014-12-12 11:04:40 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-01-13 10:25:37 +0100 |
commit | 341a00311680a440d7f979f06c34c70d86c9367a (patch) | |
tree | 95fdcbed6ddffb50958174c42157ceecaa06ac66 /src/util/sss_python.h | |
parent | faae3d55e5cf416f16158d3b9f8c8fd475ac6acf (diff) | |
download | sssd-341a00311680a440d7f979f06c34c70d86c9367a.tar.gz sssd-341a00311680a440d7f979f06c34c70d86c9367a.tar.xz sssd-341a00311680a440d7f979f06c34c70d86c9367a.zip |
Python3 support in SSSD
https://fedorahosted.org/sssd/ticket/2017
Diffstat (limited to 'src/util/sss_python.h')
-rw-r--r-- | src/util/sss_python.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/util/sss_python.h b/src/util/sss_python.h index 8f81bf91b..828bd22ec 100644 --- a/src/util/sss_python.h +++ b/src/util/sss_python.h @@ -11,6 +11,20 @@ #define sss_py_const_p(type, value) (value) #endif +#if PY_MAJOR_VERSION >= 3 +#define IS_PY3K +#define MODINITERROR return NULL +#define PYNUMBER_CHECK(what) PyLong_Check(what) +#define PYNUMBER_FROMLONG(what) PyLong_FromLong(what) +#define PYNUMBER_ASLONG(what) PyLong_AsLong(what) +#else +#include <bytesobject.h> +#define MODINITERROR return +#define PYNUMBER_CHECK(what) PyInt_Check(what) +#define PYNUMBER_FROMLONG(what) PyInt_FromLong(what) +#define PYNUMBER_ASLONG(what) PyInt_AsLong(what) +#endif + /* Py_ssize_t compatibility for python < 2.5 as per * http://www.python.org/dev/peps/pep-0353/ */ #ifndef HAVE_PY_SSIZE_T @@ -45,7 +59,7 @@ sss_exception_with_doc(char *name, char *doc, PyObject *base, PyObject *dict); /* Convenience macros */ #define TYPE_READY(module, type, name) do { \ if (PyType_Ready(&type) < 0) \ - return; \ + MODINITERROR; \ Py_INCREF(&type); \ PyModule_AddObject(module, \ discard_const_p(char, name), \ |