[Libreoffice-commits] core.git: pyuno/source

Tomáš Chvátal tchvatal at suse.com
Wed Jan 6 14:01:23 PST 2016


 pyuno/source/module/pyuno.cxx      |    5 +++++
 pyuno/source/module/pyuno_impl.hxx |    4 ++++
 2 files changed, 9 insertions(+)

New commits:
commit 5c4bfb40713807e6a6453ce4a07a17fa1b0be433
Author: Tomáš Chvátal <tchvatal at suse.com>
Date:   Tue Dec 22 17:38:41 2015 +0100

    Pyuno add compat for python 2.6
    
    Change-Id: I3e40a8006278b094d494820e6f47628c6579e78a
    Reviewed-on: https://gerrit.libreoffice.org/20883
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>

diff --git a/pyuno/source/module/pyuno.cxx b/pyuno/source/module/pyuno.cxx
index 75f3507..1f11f3d 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 c5d8190..39a0952 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,


More information about the Libreoffice-commits mailing list