@@ -187,6 +187,8 @@ typedef struct {
187187    PyObject  * it_sentinel ; /* Set to NULL when iterator is exhausted */ 
188188} calliterobject ;
189189
190+ #define  calliterobject_CAST (op ) ((calliterobject *)(op))
191+ 
190192PyObject  * 
191193PyCallIter_New (PyObject  * callable , PyObject  * sentinel )
192194{
@@ -202,16 +204,17 @@ PyCallIter_New(PyObject *callable, PyObject *sentinel)
202204static  void 
203205calliter_dealloc (PyObject  * op )
204206{
205-     calliterobject  * it  =  ( calliterobject * ) op ;
207+     calliterobject  * it  =  calliterobject_CAST ( op ) ;
206208    _PyObject_GC_UNTRACK (it );
207209    Py_XDECREF (it -> it_callable );
208210    Py_XDECREF (it -> it_sentinel );
209211    PyObject_GC_Del (it );
210212}
211213
212214static  int 
213- calliter_traverse (calliterobject   * it , visitproc  visit , void  * arg )
215+ calliter_traverse (PyObject   * op , visitproc  visit , void  * arg )
214216{
217+     calliterobject  * it  =  calliterobject_CAST (op );
215218    Py_VISIT (it -> it_callable );
216219    Py_VISIT (it -> it_sentinel );
217220    return  0 ;
@@ -220,7 +223,7 @@ calliter_traverse(calliterobject *it, visitproc visit, void *arg)
220223static  PyObject  * 
221224calliter_iternext (PyObject  * op )
222225{
223-     calliterobject  * it  =  ( calliterobject * ) op ;
226+     calliterobject  * it  =  calliterobject_CAST ( op ) ;
224227    PyObject  * result ;
225228
226229    if  (it -> it_callable  ==  NULL ) {
@@ -253,7 +256,7 @@ calliter_iternext(PyObject *op)
253256static  PyObject  * 
254257calliter_reduce (PyObject  * op , PyObject  * Py_UNUSED (ignored ))
255258{
256-     calliterobject  * it  =  ( calliterobject * ) op ;
259+     calliterobject  * it  =  calliterobject_CAST ( op ) ;
257260    PyObject  * iter  =  _PyEval_GetBuiltin (& _Py_ID (iter ));
258261
259262    /* _PyEval_GetBuiltin can invoke arbitrary code, 
@@ -294,7 +297,7 @@ PyTypeObject PyCallIter_Type = {
294297    0 ,                                          /* tp_as_buffer */ 
295298    Py_TPFLAGS_DEFAULT  | Py_TPFLAGS_HAVE_GC ,    /* tp_flags */ 
296299    0 ,                                          /* tp_doc */ 
297-     ( traverseproc ) calliter_traverse ,            /* tp_traverse */ 
300+     calliter_traverse ,                           /* tp_traverse */ 
298301    0 ,                                          /* tp_clear */ 
299302    0 ,                                          /* tp_richcompare */ 
300303    0 ,                                          /* tp_weaklistoffset */ 
0 commit comments