@@ -2636,6 +2636,8 @@ typedef struct {
26362636 PyObject * doc ;
26372637} _tuplegetterobject ;
26382638
2639+ #define _tuplegetterobject_CAST (op ) ((_tuplegetterobject *)(op))
2640+
26392641/*[clinic input]
26402642@classmethod
26412643_tuplegetter.__new__ as tuplegetter_new
@@ -2662,7 +2664,7 @@ tuplegetter_new_impl(PyTypeObject *type, Py_ssize_t index, PyObject *doc)
26622664static PyObject *
26632665tuplegetter_descr_get (PyObject * self , PyObject * obj , PyObject * type )
26642666{
2665- Py_ssize_t index = (( _tuplegetterobject * ) self )-> index ;
2667+ Py_ssize_t index = _tuplegetterobject_CAST ( self )-> index ;
26662668 PyObject * result ;
26672669
26682670 if (obj == NULL ) {
@@ -2703,7 +2705,7 @@ tuplegetter_descr_set(PyObject *self, PyObject *obj, PyObject *value)
27032705static int
27042706tuplegetter_traverse (PyObject * self , visitproc visit , void * arg )
27052707{
2706- _tuplegetterobject * tuplegetter = ( _tuplegetterobject * ) self ;
2708+ _tuplegetterobject * tuplegetter = _tuplegetterobject_CAST ( self ) ;
27072709 Py_VISIT (Py_TYPE (tuplegetter ));
27082710 Py_VISIT (tuplegetter -> doc );
27092711 return 0 ;
@@ -2712,30 +2714,33 @@ tuplegetter_traverse(PyObject *self, visitproc visit, void *arg)
27122714static int
27132715tuplegetter_clear (PyObject * self )
27142716{
2715- _tuplegetterobject * tuplegetter = ( _tuplegetterobject * ) self ;
2717+ _tuplegetterobject * tuplegetter = _tuplegetterobject_CAST ( self ) ;
27162718 Py_CLEAR (tuplegetter -> doc );
27172719 return 0 ;
27182720}
27192721
27202722static void
2721- tuplegetter_dealloc (_tuplegetterobject * self )
2723+ tuplegetter_dealloc (PyObject * self )
27222724{
27232725 PyTypeObject * tp = Py_TYPE (self );
27242726 PyObject_GC_UnTrack (self );
2725- tuplegetter_clear (( PyObject * ) self );
2726- tp -> tp_free (( PyObject * ) self );
2727+ ( void ) tuplegetter_clear ( self );
2728+ tp -> tp_free (self );
27272729 Py_DECREF (tp );
27282730}
27292731
27302732static PyObject *
2731- tuplegetter_reduce (_tuplegetterobject * self , PyObject * Py_UNUSED (ignored ))
2733+ tuplegetter_reduce (PyObject * op , PyObject * Py_UNUSED (args ))
27322734{
2733- return Py_BuildValue ("(O(nO))" , (PyObject * ) Py_TYPE (self ), self -> index , self -> doc );
2735+ _tuplegetterobject * self = _tuplegetterobject_CAST (op );
2736+ return Py_BuildValue ("(O(nO))" , (PyObject * )Py_TYPE (self ),
2737+ self -> index , self -> doc );
27342738}
27352739
27362740static PyObject *
2737- tuplegetter_repr (_tuplegetterobject * self )
2741+ tuplegetter_repr (PyObject * op )
27382742{
2743+ _tuplegetterobject * self = _tuplegetterobject_CAST (op );
27392744 return PyUnicode_FromFormat ("%s(%zd, %R)" ,
27402745 _PyType_Name (Py_TYPE (self )),
27412746 self -> index , self -> doc );
@@ -2748,7 +2753,7 @@ static PyMemberDef tuplegetter_members[] = {
27482753};
27492754
27502755static PyMethodDef tuplegetter_methods [] = {
2751- {"__reduce__" , ( PyCFunction ) tuplegetter_reduce , METH_NOARGS , NULL },
2756+ {"__reduce__" , tuplegetter_reduce , METH_NOARGS , NULL },
27522757 {NULL },
27532758};
27542759
0 commit comments