@@ -1325,6 +1325,8 @@ typedef struct {
13251325 int strict ;
13261326} mapobject ;
13271327
1328+ #define _mapobject_CAST (op ) ((mapobject *)(op))
1329+
13281330static PyObject *
13291331map_new (PyTypeObject * type , PyObject * args , PyObject * kwds )
13301332{
@@ -1428,25 +1430,28 @@ map_vectorcall(PyObject *type, PyObject * const*args,
14281430}
14291431
14301432static void
1431- map_dealloc (mapobject * lz )
1433+ map_dealloc (PyObject * self )
14321434{
1435+ mapobject * lz = _mapobject_CAST (self );
14331436 PyObject_GC_UnTrack (lz );
14341437 Py_XDECREF (lz -> iters );
14351438 Py_XDECREF (lz -> func );
14361439 Py_TYPE (lz )-> tp_free (lz );
14371440}
14381441
14391442static int
1440- map_traverse (mapobject * lz , visitproc visit , void * arg )
1443+ map_traverse (PyObject * self , visitproc visit , void * arg )
14411444{
1445+ mapobject * lz = _mapobject_CAST (self );
14421446 Py_VISIT (lz -> iters );
14431447 Py_VISIT (lz -> func );
14441448 return 0 ;
14451449}
14461450
14471451static PyObject *
1448- map_next (mapobject * lz )
1452+ map_next (PyObject * self )
14491453{
1454+ mapobject * lz = _mapobject_CAST (self );
14501455 Py_ssize_t i ;
14511456 PyObject * small_stack [_PY_FASTCALL_SMALL_STACK ];
14521457 PyObject * * stack ;
@@ -1529,8 +1534,9 @@ map_next(mapobject *lz)
15291534}
15301535
15311536static PyObject *
1532- map_reduce (mapobject * lz , PyObject * Py_UNUSED (ignored ))
1537+ map_reduce (PyObject * self , PyObject * Py_UNUSED (ignored ))
15331538{
1539+ mapobject * lz = _mapobject_CAST (self );
15341540 Py_ssize_t numargs = PyTuple_GET_SIZE (lz -> iters );
15351541 PyObject * args = PyTuple_New (numargs + 1 );
15361542 Py_ssize_t i ;
@@ -1551,19 +1557,20 @@ map_reduce(mapobject *lz, PyObject *Py_UNUSED(ignored))
15511557PyDoc_STRVAR (setstate_doc , "Set state information for unpickling." );
15521558
15531559static PyObject *
1554- map_setstate (mapobject * lz , PyObject * state )
1560+ map_setstate (PyObject * self , PyObject * state )
15551561{
15561562 int strict = PyObject_IsTrue (state );
15571563 if (strict < 0 ) {
15581564 return NULL ;
15591565 }
1566+ mapobject * lz = _mapobject_CAST (self );
15601567 lz -> strict = strict ;
15611568 Py_RETURN_NONE ;
15621569}
15631570
15641571static PyMethodDef map_methods [] = {
1565- {"__reduce__" , _PyCFunction_CAST ( map_reduce ) , METH_NOARGS , reduce_doc },
1566- {"__setstate__" , _PyCFunction_CAST ( map_setstate ) , METH_O , setstate_doc },
1572+ {"__reduce__" , map_reduce , METH_NOARGS , reduce_doc },
1573+ {"__setstate__" , map_setstate , METH_O , setstate_doc },
15671574 {NULL , NULL } /* sentinel */
15681575};
15691576
@@ -1584,7 +1591,7 @@ PyTypeObject PyMap_Type = {
15841591 sizeof (mapobject ), /* tp_basicsize */
15851592 0 , /* tp_itemsize */
15861593 /* methods */
1587- ( destructor ) map_dealloc , /* tp_dealloc */
1594+ map_dealloc , /* tp_dealloc */
15881595 0 , /* tp_vectorcall_offset */
15891596 0 , /* tp_getattr */
15901597 0 , /* tp_setattr */
@@ -1602,12 +1609,12 @@ PyTypeObject PyMap_Type = {
16021609 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC |
16031610 Py_TPFLAGS_BASETYPE , /* tp_flags */
16041611 map_doc , /* tp_doc */
1605- ( traverseproc ) map_traverse , /* tp_traverse */
1612+ map_traverse , /* tp_traverse */
16061613 0 , /* tp_clear */
16071614 0 , /* tp_richcompare */
16081615 0 , /* tp_weaklistoffset */
16091616 PyObject_SelfIter , /* tp_iter */
1610- ( iternextfunc ) map_next , /* tp_iternext */
1617+ map_next , /* tp_iternext */
16111618 map_methods , /* tp_methods */
16121619 0 , /* tp_members */
16131620 0 , /* tp_getset */
@@ -1620,7 +1627,7 @@ PyTypeObject PyMap_Type = {
16201627 PyType_GenericAlloc , /* tp_alloc */
16211628 map_new , /* tp_new */
16221629 PyObject_GC_Del , /* tp_free */
1623- .tp_vectorcall = ( vectorcallfunc ) map_vectorcall
1630+ .tp_vectorcall = map_vectorcall
16241631};
16251632
16261633
0 commit comments