[Bf-blender-cvs] [9dd5e3b6e89] blender-v2.81-release: Cleanup: define PY_SSIZE_T_CLEAN for Python

Campbell Barton noreply at git.blender.org
Wed Oct 16 06:58:54 CEST 2019


Commit: 9dd5e3b6e89ca0be4207e64439f292519eaf7e6e
Author: Campbell Barton
Date:   Wed Oct 16 15:55:47 2019 +1100
Branches: blender-v2.81-release
https://developer.blender.org/rB9dd5e3b6e89ca0be4207e64439f292519eaf7e6e

Cleanup: define PY_SSIZE_T_CLEAN for Python

Silence deprecation warnings running with Python 3.8.

===================================================================

M	source/blender/python/generic/blf_py_api.c
M	source/blender/python/generic/py_capi_utils.c
M	source/blender/python/intern/bpy_props.c

===================================================================

diff --git a/source/blender/python/generic/blf_py_api.c b/source/blender/python/generic/blf_py_api.c
index b90483e89b9..62f5a568ee1 100644
--- a/source/blender/python/generic/blf_py_api.c
+++ b/source/blender/python/generic/blf_py_api.c
@@ -20,6 +20,9 @@
  * This file defines the 'bgl' module, used for drawing text in OpenGL.
  */
 
+/* Future-proof, See https://docs.python.org/3/c-api/arg.html#strings-and-buffers */
+#define PY_SSIZE_T_CLEAN
+
 #include <Python.h>
 #include "blf_py_api.h"
 
@@ -176,7 +179,7 @@ PyDoc_STRVAR(py_blf_draw_doc,
 static PyObject *py_blf_draw(PyObject *UNUSED(self), PyObject *args)
 {
   const char *text;
-  int text_length;
+  Py_ssize_t text_length;
   int fontid;
 
   if (!PyArg_ParseTuple(args, "is#:blf.draw", &fontid, &text, &text_length)) {
diff --git a/source/blender/python/generic/py_capi_utils.c b/source/blender/python/generic/py_capi_utils.c
index 66cb4cc0bf3..c85a1d9ba05 100644
--- a/source/blender/python/generic/py_capi_utils.c
+++ b/source/blender/python/generic/py_capi_utils.c
@@ -25,6 +25,9 @@
  * BLI_string_utf8() for unicode conversion.
  */
 
+/* Future-proof, See https://docs.python.org/3/c-api/arg.html#strings-and-buffers */
+#define PY_SSIZE_T_CLEAN
+
 #include <Python.h>
 #include <frameobject.h>
 
@@ -873,7 +876,7 @@ void PyC_RunQuicky(const char *filepath, int n, ...)
 
     va_list vargs;
 
-    int *sizes = PyMem_MALLOC(sizeof(int) * (n / 2));
+    Py_ssize_t *sizes = PyMem_MALLOC(sizeof(*sizes) * (n / 2));
     int i;
 
     PyObject *py_dict = PyC_DefaultNameSpace(filepath);
diff --git a/source/blender/python/intern/bpy_props.c b/source/blender/python/intern/bpy_props.c
index 6b63d1ef2c3..4fd81a707fb 100644
--- a/source/blender/python/intern/bpy_props.c
+++ b/source/blender/python/intern/bpy_props.c
@@ -22,6 +22,9 @@
  * existing blender types.
  */
 
+/* Future-proof, See https://docs.python.org/3/c-api/arg.html#strings-and-buffers */
+#define PY_SSIZE_T_CLEAN
+
 #include <Python.h>
 
 #include "RNA_types.h"
@@ -2101,7 +2104,7 @@ static PyObject *BPy_BoolProperty(PyObject *self, PyObject *args, PyObject *kw)
 
   if (srna) {
     const char *id = NULL, *name = NULL, *description = "";
-    int id_len;
+    Py_ssize_t id_len;
     bool def = false;
     PropertyRNA *prop;
     PyObject *pyopts = NULL;
@@ -2204,7 +2207,7 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject
 
   if (srna) {
     const char *id = NULL, *name = NULL, *description = "";
-    int id_len;
+    Py_ssize_t id_len;
     bool def[PYRNA_STACK_ARRAY] = {0};
     int size = 3;
     PropertyRNA *prop;
@@ -2336,7 +2339,7 @@ static PyObject *BPy_IntProperty(PyObject *self, PyObject *args, PyObject *kw)
 
   if (srna) {
     const char *id = NULL, *name = NULL, *description = "";
-    int id_len;
+    Py_ssize_t id_len;
     int min = INT_MIN, max = INT_MAX, soft_min = INT_MIN, soft_max = INT_MAX, step = 1, def = 0;
     PropertyRNA *prop;
     PyObject *pyopts = NULL;
@@ -2456,7 +2459,7 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject
 
   if (srna) {
     const char *id = NULL, *name = NULL, *description = "";
-    int id_len;
+    Py_ssize_t id_len;
     int min = INT_MIN, max = INT_MAX, soft_min = INT_MIN, soft_max = INT_MAX, step = 1;
     int def[PYRNA_STACK_ARRAY] = {0};
     int size = 3;
@@ -2599,7 +2602,7 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw)
 
   if (srna) {
     const char *id = NULL, *name = NULL, *description = "";
-    int id_len;
+    Py_ssize_t id_len;
     float min = -FLT_MAX, max = FLT_MAX, soft_min = -FLT_MAX, soft_max = FLT_MAX, step = 3,
           def = 0.0f;
     int precision = 2;
@@ -2735,7 +2738,7 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec
 
   if (srna) {
     const char *id = NULL, *name = NULL, *description = "";
-    int id_len;
+    Py_ssize_t id_len;
     float min = -FLT_MAX, max = FLT_MAX, soft_min = -FLT_MAX, soft_max = FLT_MAX, step = 3;
     float def[PYRNA_STACK_ARRAY] = {0.0f};
     int precision = 2, size = 3;
@@ -2869,7 +2872,7 @@ static PyObject *BPy_StringProperty(PyObject *self, PyObject *args, PyObject *kw
 
   if (srna) {
     const char *id = NULL, *name = NULL, *description = "", *def = "";
-    int id_len;
+    Py_ssize_t id_len;
     int maxlen = 0;
     PropertyRNA *prop;
     PyObject *pyopts = NULL;
@@ -3015,7 +3018,7 @@ static PyObject *BPy_EnumProperty(PyObject *self, PyObject *args, PyObject *kw)
   if (srna) {
     const char *id = NULL, *name = NULL, *description = "";
     PyObject *def = NULL;
-    int id_len;
+    Py_ssize_t id_len;
     int defvalue = 0;
     PyObject *items, *items_fast;
     const EnumPropertyItem *eitems;
@@ -3191,7 +3194,7 @@ PyObject *BPy_PointerProperty(PyObject *self, PyObject *args, PyObject *kw)
 
   if (srna) {
     const char *id = NULL, *name = NULL, *description = "";
-    int id_len;
+    Py_ssize_t id_len;
     PropertyRNA *prop;
     StructRNA *ptype;
     PyObject *type = Py_None;
@@ -3286,7 +3289,7 @@ PyObject *BPy_CollectionProperty(PyObject *self, PyObject *args, PyObject *kw)
   BPY_PROPDEF_HEAD(CollectionProperty);
 
   if (srna) {
-    int id_len;
+    Py_ssize_t id_len;
     const char *id = NULL, *name = NULL, *description = "";
     PropertyRNA *prop;
     StructRNA *ptype;



More information about the Bf-blender-cvs mailing list