summaryrefslogtreecommitdiff
path: root/pyuno/source
diff options
context:
space:
mode:
authorTomáš Chvátal <tchvatal@suse.com>2015-12-22 17:38:41 +0100
committerMichael Stahl <mstahl@redhat.com>2016-01-06 22:01:02 +0000
commit5c4bfb40713807e6a6453ce4a07a17fa1b0be433 (patch)
treef070593bebf95d0120f73211f80e2c82cc55add9 /pyuno/source
parent817192b3f55be0b0a4a6e877a3c1ab95d3a4b4cb (diff)
Pyuno add compat for python 2.6
Change-Id: I3e40a8006278b094d494820e6f47628c6579e78a Reviewed-on: https://gerrit.libreoffice.org/20883 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'pyuno/source')
-rw-r--r--pyuno/source/module/pyuno.cxx5
-rw-r--r--pyuno/source/module/pyuno_impl.hxx4
2 files changed, 9 insertions, 0 deletions
diff --git a/pyuno/source/module/pyuno.cxx b/pyuno/source/module/pyuno.cxx
index 75f3507d31b1..1f11f3db78a8 100644
--- a/pyuno/source/module/pyuno.cxx
+++ b/pyuno/source/module/pyuno.cxx
@@ -325,9 +325,14 @@ sal_Int32 lcl_PyNumber_AsSal_Int32( PyObject *pObj )
// Convert Python number to platform long, then check actual value against
// bounds of sal_Int32
+#if PY_VERSION_HEX >= 0x02070000
int nOverflow;
long nResult = PyLong_AsLongAndOverflow( pObj, &nOverflow );
if ( nOverflow || nResult > SAL_MAX_INT32 || nResult < SAL_MIN_INT32) {
+#else
+ long nResult = PyLong_AsLong( pObj );
+ if ( nResult > SAL_MAX_INT32 || nResult < SAL_MIN_INT32) {
+#endif
PyErr_SetString( PyExc_IndexError, "Python int too large to convert to UNO long" );
return -1;
}
diff --git a/pyuno/source/module/pyuno_impl.hxx b/pyuno/source/module/pyuno_impl.hxx
index c5d8190989cf..39a0952361d9 100644
--- a/pyuno/source/module/pyuno_impl.hxx
+++ b/pyuno/source/module/pyuno_impl.hxx
@@ -26,6 +26,10 @@
#include <Python.h>
+#if PY_VERSION_HEX < 0x02070000
+typedef long Py_hash_t;
+#endif
+
//Must define PyVarObject_HEAD_INIT for Python 2.5 or older
#ifndef PyVarObject_HEAD_INIT
#define PyVarObject_HEAD_INIT(type, size) PyObject_HEAD_INIT(type) size,