@@ -16,14 +16,14 @@ _Py_IDENTIFIER(n_fields);
1616_Py_IDENTIFIER (n_unnamed_fields );
1717
1818#define VISIBLE_SIZE (op ) Py_SIZE(op)
19- #define VISIBLE_SIZE_TP (tp ) PyLong_AsLong ( \
19+ #define VISIBLE_SIZE_TP (tp ) PyLong_AsSsize_t ( \
2020 _PyDict_GetItemId((tp)->tp_dict, &PyId_n_sequence_fields))
2121
22- #define REAL_SIZE_TP (tp ) PyLong_AsLong ( \
22+ #define REAL_SIZE_TP (tp ) PyLong_AsSsize_t ( \
2323 _PyDict_GetItemId((tp)->tp_dict, &PyId_n_fields))
2424#define REAL_SIZE (op ) REAL_SIZE_TP(Py_TYPE(op))
2525
26- #define UNNAMED_FIELDS_TP (tp ) PyLong_AsLong ( \
26+ #define UNNAMED_FIELDS_TP (tp ) PyLong_AsSsize_t ( \
2727 _PyDict_GetItemId((tp)->tp_dict, &PyId_n_unnamed_fields))
2828#define UNNAMED_FIELDS (op ) UNNAMED_FIELDS_TP(Py_TYPE(op))
2929
@@ -164,7 +164,8 @@ structseq_repr(PyStructSequence *obj)
164164#define TYPE_MAXSIZE 100
165165
166166 PyTypeObject * typ = Py_TYPE (obj );
167- int i , removelast = 0 ;
167+ Py_ssize_t i ;
168+ int removelast = 0 ;
168169 Py_ssize_t len ;
169170 char buf [REPR_BUFFER_SIZE ];
170171 char * endofbuf , * pbuf = buf ;
@@ -236,8 +237,7 @@ structseq_reduce(PyStructSequence* self)
236237 PyObject * tup = NULL ;
237238 PyObject * dict = NULL ;
238239 PyObject * result ;
239- Py_ssize_t n_fields , n_visible_fields , n_unnamed_fields ;
240- int i ;
240+ Py_ssize_t n_fields , n_visible_fields , n_unnamed_fields , i ;
241241
242242 n_fields = REAL_SIZE (self );
243243 n_visible_fields = VISIBLE_SIZE (self );
@@ -325,7 +325,7 @@ PyStructSequence_InitType2(PyTypeObject *type, PyStructSequence_Desc *desc)
325325{
326326 PyObject * dict ;
327327 PyMemberDef * members ;
328- int n_members , n_unnamed_members , i , k ;
328+ Py_ssize_t n_members , n_unnamed_members , i , k ;
329329 PyObject * v ;
330330
331331#ifdef Py_TRACE_REFS
@@ -373,9 +373,9 @@ PyStructSequence_InitType2(PyTypeObject *type, PyStructSequence_Desc *desc)
373373 Py_INCREF (type );
374374
375375 dict = type -> tp_dict ;
376- #define SET_DICT_FROM_INT (key , value ) \
376+ #define SET_DICT_FROM_SIZE (key , value ) \
377377 do { \
378- v = PyLong_FromLong((long) value); \
378+ v = PyLong_FromSsize_t( value); \
379379 if (v == NULL) \
380380 return -1; \
381381 if (PyDict_SetItemString(dict, key, v) < 0) { \
@@ -385,9 +385,9 @@ PyStructSequence_InitType2(PyTypeObject *type, PyStructSequence_Desc *desc)
385385 Py_DECREF(v); \
386386 } while (0)
387387
388- SET_DICT_FROM_INT (visible_length_key , desc -> n_in_sequence );
389- SET_DICT_FROM_INT (real_length_key , n_members );
390- SET_DICT_FROM_INT (unnamed_fields_key , n_unnamed_members );
388+ SET_DICT_FROM_SIZE (visible_length_key , desc -> n_in_sequence );
389+ SET_DICT_FROM_SIZE (real_length_key , n_members );
390+ SET_DICT_FROM_SIZE (unnamed_fields_key , n_unnamed_members );
391391
392392 return 0 ;
393393}
0 commit comments