[Python-checkins] bpo-41428: Fix compiler warning in unionobject.c (GH-22416)

Victor Stinner webhook-mailer at python.org
Sat Sep 26 06:49:12 EDT 2020


https://github.com/python/cpython/commit/d73cf7ca85fb60b739e671597aabe72cc36d397a
commit: d73cf7ca85fb60b739e671597aabe72cc36d397a
branch: master
author: Victor Stinner <vstinner at python.org>
committer: GitHub <noreply at github.com>
date: 2020-09-26T12:48:41+02:00
summary:

bpo-41428: Fix compiler warning in unionobject.c (GH-22416)

Use Py_ssize_t type rather than int, to store lengths in
unionobject.c. Fix the warning:

Objects\unionobject.c(205,1): warning C4244: 'initializing':
conversion from 'Py_ssize_t' to 'int', possible loss of data

files:
M Objects/unionobject.c

diff --git a/Objects/unionobject.c b/Objects/unionobject.c
index e055a55e91715..8cfb2a664753f 100644
--- a/Objects/unionobject.c
+++ b/Objects/unionobject.c
@@ -202,8 +202,8 @@ flatten_args(PyObject* args)
         PyTypeObject* arg_type = Py_TYPE(arg);
         if (arg_type == &_Py_UnionType) {
             PyObject* nested_args = ((unionobject*)arg)->args;
-            int nested_arg_length = PyTuple_GET_SIZE(nested_args);
-            for (int j = 0; j < nested_arg_length; j++) {
+            Py_ssize_t nested_arg_length = PyTuple_GET_SIZE(nested_args);
+            for (Py_ssize_t j = 0; j < nested_arg_length; j++) {
                 PyObject* nested_arg = PyTuple_GET_ITEM(nested_args, j);
                 Py_INCREF(nested_arg);
                 PyTuple_SET_ITEM(flattened_args, pos, nested_arg);
@@ -231,7 +231,7 @@ dedup_and_flatten_args(PyObject* args)
         return NULL;
     }
     // Add unique elements to an array.
-    int added_items = 0;
+    Py_ssize_t added_items = 0;
     for (Py_ssize_t i = 0; i < arg_length; i++) {
         int is_duplicate = 0;
         PyObject* i_element = PyTuple_GET_ITEM(args, i);



More information about the Python-checkins mailing list