[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60816] trunk/blender/source/blender/ python/generic: add local _PyLong_AsInt() needed for python older then 3.3. 2

Campbell Barton ideasman42 at gmail.com
Thu Oct 17 11:58:36 CEST 2013


Revision: 60816
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60816
Author:   campbellbarton
Date:     2013-10-17 09:58:36 +0000 (Thu, 17 Oct 2013)
Log Message:
-----------
add local _PyLong_AsInt() needed for python older then 3.3.2

Modified Paths:
--------------
    trunk/blender/source/blender/python/generic/py_capi_utils.c
    trunk/blender/source/blender/python/generic/py_capi_utils.h

Modified: trunk/blender/source/blender/python/generic/py_capi_utils.c
===================================================================
--- trunk/blender/source/blender/python/generic/py_capi_utils.c	2013-10-17 09:44:08 UTC (rev 60815)
+++ trunk/blender/source/blender/python/generic/py_capi_utils.c	2013-10-17 09:58:36 UTC (rev 60816)
@@ -887,3 +887,19 @@
 
 	return ret;
 }
+
+/* compat only */
+#if PY_VERSION_HEX <  0x03030200
+int
+_PyLong_AsInt(PyObject *obj)
+{
+	int overflow;
+	long result = PyLong_AsLongAndOverflow(obj, &overflow);
+	if (overflow || result > INT_MAX || result < INT_MIN) {
+		PyErr_SetString(PyExc_OverflowError,
+		                "Python int too large to convert to C int");
+		return -1;
+	}
+	return (int)result;
+}
+#endif

Modified: trunk/blender/source/blender/python/generic/py_capi_utils.h
===================================================================
--- trunk/blender/source/blender/python/generic/py_capi_utils.h	2013-10-17 09:44:08 UTC (rev 60815)
+++ trunk/blender/source/blender/python/generic/py_capi_utils.h	2013-10-17 09:58:36 UTC (rev 60816)
@@ -72,4 +72,8 @@
 int       PyC_FlagSet_ToBitfield(PyC_FlagSet *items, PyObject *value, int *r_value, const char *error_prefix);
 PyObject *PyC_FlagSet_FromBitfield(PyC_FlagSet *items, int flag);
 
+#if PY_VERSION_HEX <  0x03030200
+int _PyLong_AsInt(PyObject *obj);
+#endif
+
 #endif  /* __PY_CAPI_UTILS_H__ */




More information about the Bf-blender-cvs mailing list