@@ -825,8 +825,9 @@ PyTypeObject PyRange_Type = {
825
825
*/
826
826
827
827
static PyObject *
828
- rangeiter_next (_PyRangeIterObject * r )
828
+ rangeiter_next (PyObject * op )
829
829
{
830
+ _PyRangeIterObject * r = (_PyRangeIterObject * )op ;
830
831
if (r -> len > 0 ) {
831
832
long result = r -> start ;
832
833
r -> start = result + r -> step ;
@@ -837,17 +838,19 @@ rangeiter_next(_PyRangeIterObject *r)
837
838
}
838
839
839
840
static PyObject *
840
- rangeiter_len (_PyRangeIterObject * r , PyObject * Py_UNUSED (ignored ))
841
+ rangeiter_len (PyObject * op , PyObject * Py_UNUSED (ignored ))
841
842
{
843
+ _PyRangeIterObject * r = (_PyRangeIterObject * )op ;
842
844
return PyLong_FromLong (r -> len );
843
845
}
844
846
845
847
PyDoc_STRVAR (length_hint_doc ,
846
848
"Private method returning an estimate of len(list(it))." );
847
849
848
850
static PyObject *
849
- rangeiter_reduce (_PyRangeIterObject * r , PyObject * Py_UNUSED (ignored ))
851
+ rangeiter_reduce (PyObject * op , PyObject * Py_UNUSED (ignored ))
850
852
{
853
+ _PyRangeIterObject * r = (_PyRangeIterObject * )op ;
851
854
PyObject * start = NULL , * stop = NULL , * step = NULL ;
852
855
PyObject * range ;
853
856
@@ -876,8 +879,9 @@ rangeiter_reduce(_PyRangeIterObject *r, PyObject *Py_UNUSED(ignored))
876
879
}
877
880
878
881
static PyObject *
879
- rangeiter_setstate (_PyRangeIterObject * r , PyObject * state )
882
+ rangeiter_setstate (PyObject * op , PyObject * state )
880
883
{
884
+ _PyRangeIterObject * r = (_PyRangeIterObject * )op ;
881
885
long index = PyLong_AsLong (state );
882
886
if (index == -1 && PyErr_Occurred ())
883
887
return NULL ;
@@ -895,12 +899,9 @@ PyDoc_STRVAR(reduce_doc, "Return state information for pickling.");
895
899
PyDoc_STRVAR (setstate_doc , "Set state information for unpickling." );
896
900
897
901
static PyMethodDef rangeiter_methods [] = {
898
- {"__length_hint__" , (PyCFunction )rangeiter_len , METH_NOARGS ,
899
- length_hint_doc },
900
- {"__reduce__" , (PyCFunction )rangeiter_reduce , METH_NOARGS ,
901
- reduce_doc },
902
- {"__setstate__" , (PyCFunction )rangeiter_setstate , METH_O ,
903
- setstate_doc },
902
+ {"__length_hint__" , rangeiter_len , METH_NOARGS , length_hint_doc },
903
+ {"__reduce__" , rangeiter_reduce , METH_NOARGS , reduce_doc },
904
+ {"__setstate__" , rangeiter_setstate , METH_O , setstate_doc },
904
905
{NULL , NULL } /* sentinel */
905
906
};
906
907
@@ -932,7 +933,7 @@ PyTypeObject PyRangeIter_Type = {
932
933
0 , /* tp_richcompare */
933
934
0 , /* tp_weaklistoffset */
934
935
PyObject_SelfIter , /* tp_iter */
935
- ( iternextfunc ) rangeiter_next , /* tp_iternext */
936
+ rangeiter_next , /* tp_iternext */
936
937
rangeiter_methods , /* tp_methods */
937
938
0 , /* tp_members */
938
939
};
@@ -988,15 +989,17 @@ typedef struct {
988
989
} longrangeiterobject ;
989
990
990
991
static PyObject *
991
- longrangeiter_len (longrangeiterobject * r , PyObject * no_args )
992
+ longrangeiter_len (PyObject * op , PyObject * Py_UNUSED ( ignored ) )
992
993
{
994
+ longrangeiterobject * r = (longrangeiterobject * )op ;
993
995
Py_INCREF (r -> len );
994
996
return r -> len ;
995
997
}
996
998
997
999
static PyObject *
998
- longrangeiter_reduce (longrangeiterobject * r , PyObject * Py_UNUSED (ignored ))
1000
+ longrangeiter_reduce (PyObject * op , PyObject * Py_UNUSED (ignored ))
999
1001
{
1002
+ longrangeiterobject * r = (longrangeiterobject * )op ;
1000
1003
PyObject * product , * stop = NULL ;
1001
1004
PyObject * range ;
1002
1005
@@ -1023,8 +1026,9 @@ longrangeiter_reduce(longrangeiterobject *r, PyObject *Py_UNUSED(ignored))
1023
1026
}
1024
1027
1025
1028
static PyObject *
1026
- longrangeiter_setstate (longrangeiterobject * r , PyObject * state )
1029
+ longrangeiter_setstate (PyObject * op , PyObject * state )
1027
1030
{
1031
+ longrangeiterobject * r = (longrangeiterobject * )op ;
1028
1032
PyObject * zero = _PyLong_GetZero (); // borrowed reference
1029
1033
int cmp ;
1030
1034
@@ -1062,27 +1066,26 @@ longrangeiter_setstate(longrangeiterobject *r, PyObject *state)
1062
1066
}
1063
1067
1064
1068
static PyMethodDef longrangeiter_methods [] = {
1065
- {"__length_hint__" , (PyCFunction )longrangeiter_len , METH_NOARGS ,
1066
- length_hint_doc },
1067
- {"__reduce__" , (PyCFunction )longrangeiter_reduce , METH_NOARGS ,
1068
- reduce_doc },
1069
- {"__setstate__" , (PyCFunction )longrangeiter_setstate , METH_O ,
1070
- setstate_doc },
1069
+ {"__length_hint__" , longrangeiter_len , METH_NOARGS , length_hint_doc },
1070
+ {"__reduce__" , longrangeiter_reduce , METH_NOARGS , reduce_doc },
1071
+ {"__setstate__" , longrangeiter_setstate , METH_O , setstate_doc },
1071
1072
{NULL , NULL } /* sentinel */
1072
1073
};
1073
1074
1074
1075
static void
1075
- longrangeiter_dealloc (longrangeiterobject * r )
1076
+ longrangeiter_dealloc (PyObject * op )
1076
1077
{
1078
+ longrangeiterobject * r = (longrangeiterobject * )op ;
1077
1079
Py_XDECREF (r -> start );
1078
1080
Py_XDECREF (r -> step );
1079
1081
Py_XDECREF (r -> len );
1080
1082
PyObject_Free (r );
1081
1083
}
1082
1084
1083
1085
static PyObject *
1084
- longrangeiter_next (longrangeiterobject * r )
1086
+ longrangeiter_next (PyObject * op )
1085
1087
{
1088
+ longrangeiterobject * r = (longrangeiterobject * )op ;
1086
1089
if (PyObject_RichCompareBool (r -> len , _PyLong_GetZero (), Py_GT ) != 1 )
1087
1090
return NULL ;
1088
1091
@@ -1107,7 +1110,7 @@ PyTypeObject PyLongRangeIter_Type = {
1107
1110
sizeof (longrangeiterobject ), /* tp_basicsize */
1108
1111
0 , /* tp_itemsize */
1109
1112
/* methods */
1110
- ( destructor ) longrangeiter_dealloc , /* tp_dealloc */
1113
+ longrangeiter_dealloc , /* tp_dealloc */
1111
1114
0 , /* tp_vectorcall_offset */
1112
1115
0 , /* tp_getattr */
1113
1116
0 , /* tp_setattr */
@@ -1129,7 +1132,7 @@ PyTypeObject PyLongRangeIter_Type = {
1129
1132
0 , /* tp_richcompare */
1130
1133
0 , /* tp_weaklistoffset */
1131
1134
PyObject_SelfIter , /* tp_iter */
1132
- ( iternextfunc ) longrangeiter_next , /* tp_iternext */
1135
+ longrangeiter_next , /* tp_iternext */
1133
1136
longrangeiter_methods , /* tp_methods */
1134
1137
0 ,
1135
1138
};
0 commit comments