Skip to content

Commit 50e9eba

Browse files
authored
gh-111178: Fix function signatures in rangeobject.c (#131161)
1 parent 73ab9e2 commit 50e9eba

File tree

1 file changed

+27
-24
lines changed

1 file changed

+27
-24
lines changed

Objects/rangeobject.c

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -825,8 +825,9 @@ PyTypeObject PyRange_Type = {
825825
*/
826826

827827
static PyObject *
828-
rangeiter_next(_PyRangeIterObject *r)
828+
rangeiter_next(PyObject *op)
829829
{
830+
_PyRangeIterObject *r = (_PyRangeIterObject*)op;
830831
if (r->len > 0) {
831832
long result = r->start;
832833
r->start = result + r->step;
@@ -837,17 +838,19 @@ rangeiter_next(_PyRangeIterObject *r)
837838
}
838839

839840
static PyObject *
840-
rangeiter_len(_PyRangeIterObject *r, PyObject *Py_UNUSED(ignored))
841+
rangeiter_len(PyObject *op, PyObject *Py_UNUSED(ignored))
841842
{
843+
_PyRangeIterObject *r = (_PyRangeIterObject*)op;
842844
return PyLong_FromLong(r->len);
843845
}
844846

845847
PyDoc_STRVAR(length_hint_doc,
846848
"Private method returning an estimate of len(list(it)).");
847849

848850
static PyObject *
849-
rangeiter_reduce(_PyRangeIterObject *r, PyObject *Py_UNUSED(ignored))
851+
rangeiter_reduce(PyObject *op, PyObject *Py_UNUSED(ignored))
850852
{
853+
_PyRangeIterObject *r = (_PyRangeIterObject*)op;
851854
PyObject *start=NULL, *stop=NULL, *step=NULL;
852855
PyObject *range;
853856

@@ -876,8 +879,9 @@ rangeiter_reduce(_PyRangeIterObject *r, PyObject *Py_UNUSED(ignored))
876879
}
877880

878881
static PyObject *
879-
rangeiter_setstate(_PyRangeIterObject *r, PyObject *state)
882+
rangeiter_setstate(PyObject *op, PyObject *state)
880883
{
884+
_PyRangeIterObject *r = (_PyRangeIterObject*)op;
881885
long index = PyLong_AsLong(state);
882886
if (index == -1 && PyErr_Occurred())
883887
return NULL;
@@ -895,12 +899,9 @@ PyDoc_STRVAR(reduce_doc, "Return state information for pickling.");
895899
PyDoc_STRVAR(setstate_doc, "Set state information for unpickling.");
896900

897901
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},
904905
{NULL, NULL} /* sentinel */
905906
};
906907

@@ -932,7 +933,7 @@ PyTypeObject PyRangeIter_Type = {
932933
0, /* tp_richcompare */
933934
0, /* tp_weaklistoffset */
934935
PyObject_SelfIter, /* tp_iter */
935-
(iternextfunc)rangeiter_next, /* tp_iternext */
936+
rangeiter_next, /* tp_iternext */
936937
rangeiter_methods, /* tp_methods */
937938
0, /* tp_members */
938939
};
@@ -988,15 +989,17 @@ typedef struct {
988989
} longrangeiterobject;
989990

990991
static PyObject *
991-
longrangeiter_len(longrangeiterobject *r, PyObject *no_args)
992+
longrangeiter_len(PyObject *op, PyObject *Py_UNUSED(ignored))
992993
{
994+
longrangeiterobject *r = (longrangeiterobject*)op;
993995
Py_INCREF(r->len);
994996
return r->len;
995997
}
996998

997999
static PyObject *
998-
longrangeiter_reduce(longrangeiterobject *r, PyObject *Py_UNUSED(ignored))
1000+
longrangeiter_reduce(PyObject *op, PyObject *Py_UNUSED(ignored))
9991001
{
1002+
longrangeiterobject *r = (longrangeiterobject*)op;
10001003
PyObject *product, *stop=NULL;
10011004
PyObject *range;
10021005

@@ -1023,8 +1026,9 @@ longrangeiter_reduce(longrangeiterobject *r, PyObject *Py_UNUSED(ignored))
10231026
}
10241027

10251028
static PyObject *
1026-
longrangeiter_setstate(longrangeiterobject *r, PyObject *state)
1029+
longrangeiter_setstate(PyObject *op, PyObject *state)
10271030
{
1031+
longrangeiterobject *r = (longrangeiterobject*)op;
10281032
PyObject *zero = _PyLong_GetZero(); // borrowed reference
10291033
int cmp;
10301034

@@ -1062,27 +1066,26 @@ longrangeiter_setstate(longrangeiterobject *r, PyObject *state)
10621066
}
10631067

10641068
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},
10711072
{NULL, NULL} /* sentinel */
10721073
};
10731074

10741075
static void
1075-
longrangeiter_dealloc(longrangeiterobject *r)
1076+
longrangeiter_dealloc(PyObject *op)
10761077
{
1078+
longrangeiterobject *r = (longrangeiterobject*)op;
10771079
Py_XDECREF(r->start);
10781080
Py_XDECREF(r->step);
10791081
Py_XDECREF(r->len);
10801082
PyObject_Free(r);
10811083
}
10821084

10831085
static PyObject *
1084-
longrangeiter_next(longrangeiterobject *r)
1086+
longrangeiter_next(PyObject *op)
10851087
{
1088+
longrangeiterobject *r = (longrangeiterobject*)op;
10861089
if (PyObject_RichCompareBool(r->len, _PyLong_GetZero(), Py_GT) != 1)
10871090
return NULL;
10881091

@@ -1107,7 +1110,7 @@ PyTypeObject PyLongRangeIter_Type = {
11071110
sizeof(longrangeiterobject), /* tp_basicsize */
11081111
0, /* tp_itemsize */
11091112
/* methods */
1110-
(destructor)longrangeiter_dealloc, /* tp_dealloc */
1113+
longrangeiter_dealloc, /* tp_dealloc */
11111114
0, /* tp_vectorcall_offset */
11121115
0, /* tp_getattr */
11131116
0, /* tp_setattr */
@@ -1129,7 +1132,7 @@ PyTypeObject PyLongRangeIter_Type = {
11291132
0, /* tp_richcompare */
11301133
0, /* tp_weaklistoffset */
11311134
PyObject_SelfIter, /* tp_iter */
1132-
(iternextfunc)longrangeiter_next, /* tp_iternext */
1135+
longrangeiter_next, /* tp_iternext */
11331136
longrangeiter_methods, /* tp_methods */
11341137
0,
11351138
};

0 commit comments

Comments
 (0)