gh-111178: Fix function signatures in rangeobject.c by vstinner · Pull Request #131161 · python/cpython
Expand Up
@@ -825,8 +825,9 @@ PyTypeObject PyRange_Type = {
*/
static PyObject * rangeiter_next(_PyRangeIterObject *r) rangeiter_next(PyObject *op) { _PyRangeIterObject *r = (_PyRangeIterObject*)op; if (r->len > 0) { long result = r->start; r->start = result + r->step; Expand All @@ -837,17 +838,19 @@ rangeiter_next(_PyRangeIterObject *r) }
static PyObject * rangeiter_len(_PyRangeIterObject *r, PyObject *Py_UNUSED(ignored)) rangeiter_len(PyObject *op, PyObject *Py_UNUSED(ignored)) { _PyRangeIterObject *r = (_PyRangeIterObject*)op; return PyLong_FromLong(r->len); }
PyDoc_STRVAR(length_hint_doc, "Private method returning an estimate of len(list(it)).");
static PyObject * rangeiter_reduce(_PyRangeIterObject *r, PyObject *Py_UNUSED(ignored)) rangeiter_reduce(PyObject *op, PyObject *Py_UNUSED(ignored)) { _PyRangeIterObject *r = (_PyRangeIterObject*)op; PyObject *start=NULL, *stop=NULL, *step=NULL; PyObject *range;
Expand Down Expand Up @@ -876,8 +879,9 @@ rangeiter_reduce(_PyRangeIterObject *r, PyObject *Py_UNUSED(ignored)) }
static PyObject * rangeiter_setstate(_PyRangeIterObject *r, PyObject *state) rangeiter_setstate(PyObject *op, PyObject *state) { _PyRangeIterObject *r = (_PyRangeIterObject*)op; long index = PyLong_AsLong(state); if (index == -1 && PyErr_Occurred()) return NULL; Expand All @@ -895,12 +899,9 @@ PyDoc_STRVAR(reduce_doc, "Return state information for pickling."); PyDoc_STRVAR(setstate_doc, "Set state information for unpickling.");
static PyMethodDef rangeiter_methods[] = { {"__length_hint__", (PyCFunction)rangeiter_len, METH_NOARGS, length_hint_doc}, {"__reduce__", (PyCFunction)rangeiter_reduce, METH_NOARGS, reduce_doc}, {"__setstate__", (PyCFunction)rangeiter_setstate, METH_O, setstate_doc}, {"__length_hint__", rangeiter_len, METH_NOARGS, length_hint_doc}, {"__reduce__", rangeiter_reduce, METH_NOARGS, reduce_doc}, {"__setstate__", rangeiter_setstate, METH_O, setstate_doc}, {NULL, NULL} /* sentinel */ };
Expand Down Expand Up @@ -932,7 +933,7 @@ PyTypeObject PyRangeIter_Type = { 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ PyObject_SelfIter, /* tp_iter */ (iternextfunc)rangeiter_next, /* tp_iternext */ rangeiter_next, /* tp_iternext */ rangeiter_methods, /* tp_methods */ 0, /* tp_members */ }; Expand Down Expand Up @@ -988,15 +989,17 @@ typedef struct { } longrangeiterobject;
static PyObject * longrangeiter_len(longrangeiterobject *r, PyObject *no_args) longrangeiter_len(PyObject *op, PyObject *Py_UNUSED(ignored)) { longrangeiterobject *r = (longrangeiterobject*)op; Py_INCREF(r->len); return r->len; }
static PyObject * longrangeiter_reduce(longrangeiterobject *r, PyObject *Py_UNUSED(ignored)) longrangeiter_reduce(PyObject *op, PyObject *Py_UNUSED(ignored)) { longrangeiterobject *r = (longrangeiterobject*)op; PyObject *product, *stop=NULL; PyObject *range;
Expand All @@ -1023,8 +1026,9 @@ longrangeiter_reduce(longrangeiterobject *r, PyObject *Py_UNUSED(ignored)) }
static PyObject * longrangeiter_setstate(longrangeiterobject *r, PyObject *state) longrangeiter_setstate(PyObject *op, PyObject *state) { longrangeiterobject *r = (longrangeiterobject*)op; PyObject *zero = _PyLong_GetZero(); // borrowed reference int cmp;
Expand Down Expand Up @@ -1062,27 +1066,26 @@ longrangeiter_setstate(longrangeiterobject *r, PyObject *state) }
static PyMethodDef longrangeiter_methods[] = { {"__length_hint__", (PyCFunction)longrangeiter_len, METH_NOARGS, length_hint_doc}, {"__reduce__", (PyCFunction)longrangeiter_reduce, METH_NOARGS, reduce_doc}, {"__setstate__", (PyCFunction)longrangeiter_setstate, METH_O, setstate_doc}, {"__length_hint__", longrangeiter_len, METH_NOARGS, length_hint_doc}, {"__reduce__", longrangeiter_reduce, METH_NOARGS, reduce_doc}, {"__setstate__", longrangeiter_setstate, METH_O, setstate_doc}, {NULL, NULL} /* sentinel */ };
static void longrangeiter_dealloc(longrangeiterobject *r) longrangeiter_dealloc(PyObject *op) { longrangeiterobject *r = (longrangeiterobject*)op; Py_XDECREF(r->start); Py_XDECREF(r->step); Py_XDECREF(r->len); PyObject_Free(r); }
static PyObject * longrangeiter_next(longrangeiterobject *r) longrangeiter_next(PyObject *op) { longrangeiterobject *r = (longrangeiterobject*)op; if (PyObject_RichCompareBool(r->len, _PyLong_GetZero(), Py_GT) != 1) return NULL;
Expand All @@ -1107,7 +1110,7 @@ PyTypeObject PyLongRangeIter_Type = { sizeof(longrangeiterobject), /* tp_basicsize */ 0, /* tp_itemsize */ /* methods */ (destructor)longrangeiter_dealloc, /* tp_dealloc */ longrangeiter_dealloc, /* tp_dealloc */ 0, /* tp_vectorcall_offset */ 0, /* tp_getattr */ 0, /* tp_setattr */ Expand All @@ -1129,7 +1132,7 @@ PyTypeObject PyLongRangeIter_Type = { 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ PyObject_SelfIter, /* tp_iter */ (iternextfunc)longrangeiter_next, /* tp_iternext */ longrangeiter_next, /* tp_iternext */ longrangeiter_methods, /* tp_methods */ 0, }; Expand Down
static PyObject * rangeiter_next(_PyRangeIterObject *r) rangeiter_next(PyObject *op) { _PyRangeIterObject *r = (_PyRangeIterObject*)op; if (r->len > 0) { long result = r->start; r->start = result + r->step; Expand All @@ -837,17 +838,19 @@ rangeiter_next(_PyRangeIterObject *r) }
static PyObject * rangeiter_len(_PyRangeIterObject *r, PyObject *Py_UNUSED(ignored)) rangeiter_len(PyObject *op, PyObject *Py_UNUSED(ignored)) { _PyRangeIterObject *r = (_PyRangeIterObject*)op; return PyLong_FromLong(r->len); }
PyDoc_STRVAR(length_hint_doc, "Private method returning an estimate of len(list(it)).");
static PyObject * rangeiter_reduce(_PyRangeIterObject *r, PyObject *Py_UNUSED(ignored)) rangeiter_reduce(PyObject *op, PyObject *Py_UNUSED(ignored)) { _PyRangeIterObject *r = (_PyRangeIterObject*)op; PyObject *start=NULL, *stop=NULL, *step=NULL; PyObject *range;
Expand Down Expand Up @@ -876,8 +879,9 @@ rangeiter_reduce(_PyRangeIterObject *r, PyObject *Py_UNUSED(ignored)) }
static PyObject * rangeiter_setstate(_PyRangeIterObject *r, PyObject *state) rangeiter_setstate(PyObject *op, PyObject *state) { _PyRangeIterObject *r = (_PyRangeIterObject*)op; long index = PyLong_AsLong(state); if (index == -1 && PyErr_Occurred()) return NULL; Expand All @@ -895,12 +899,9 @@ PyDoc_STRVAR(reduce_doc, "Return state information for pickling."); PyDoc_STRVAR(setstate_doc, "Set state information for unpickling.");
static PyMethodDef rangeiter_methods[] = { {"__length_hint__", (PyCFunction)rangeiter_len, METH_NOARGS, length_hint_doc}, {"__reduce__", (PyCFunction)rangeiter_reduce, METH_NOARGS, reduce_doc}, {"__setstate__", (PyCFunction)rangeiter_setstate, METH_O, setstate_doc}, {"__length_hint__", rangeiter_len, METH_NOARGS, length_hint_doc}, {"__reduce__", rangeiter_reduce, METH_NOARGS, reduce_doc}, {"__setstate__", rangeiter_setstate, METH_O, setstate_doc}, {NULL, NULL} /* sentinel */ };
Expand Down Expand Up @@ -932,7 +933,7 @@ PyTypeObject PyRangeIter_Type = { 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ PyObject_SelfIter, /* tp_iter */ (iternextfunc)rangeiter_next, /* tp_iternext */ rangeiter_next, /* tp_iternext */ rangeiter_methods, /* tp_methods */ 0, /* tp_members */ }; Expand Down Expand Up @@ -988,15 +989,17 @@ typedef struct { } longrangeiterobject;
static PyObject * longrangeiter_len(longrangeiterobject *r, PyObject *no_args) longrangeiter_len(PyObject *op, PyObject *Py_UNUSED(ignored)) { longrangeiterobject *r = (longrangeiterobject*)op; Py_INCREF(r->len); return r->len; }
static PyObject * longrangeiter_reduce(longrangeiterobject *r, PyObject *Py_UNUSED(ignored)) longrangeiter_reduce(PyObject *op, PyObject *Py_UNUSED(ignored)) { longrangeiterobject *r = (longrangeiterobject*)op; PyObject *product, *stop=NULL; PyObject *range;
Expand All @@ -1023,8 +1026,9 @@ longrangeiter_reduce(longrangeiterobject *r, PyObject *Py_UNUSED(ignored)) }
static PyObject * longrangeiter_setstate(longrangeiterobject *r, PyObject *state) longrangeiter_setstate(PyObject *op, PyObject *state) { longrangeiterobject *r = (longrangeiterobject*)op; PyObject *zero = _PyLong_GetZero(); // borrowed reference int cmp;
Expand Down Expand Up @@ -1062,27 +1066,26 @@ longrangeiter_setstate(longrangeiterobject *r, PyObject *state) }
static PyMethodDef longrangeiter_methods[] = { {"__length_hint__", (PyCFunction)longrangeiter_len, METH_NOARGS, length_hint_doc}, {"__reduce__", (PyCFunction)longrangeiter_reduce, METH_NOARGS, reduce_doc}, {"__setstate__", (PyCFunction)longrangeiter_setstate, METH_O, setstate_doc}, {"__length_hint__", longrangeiter_len, METH_NOARGS, length_hint_doc}, {"__reduce__", longrangeiter_reduce, METH_NOARGS, reduce_doc}, {"__setstate__", longrangeiter_setstate, METH_O, setstate_doc}, {NULL, NULL} /* sentinel */ };
static void longrangeiter_dealloc(longrangeiterobject *r) longrangeiter_dealloc(PyObject *op) { longrangeiterobject *r = (longrangeiterobject*)op; Py_XDECREF(r->start); Py_XDECREF(r->step); Py_XDECREF(r->len); PyObject_Free(r); }
static PyObject * longrangeiter_next(longrangeiterobject *r) longrangeiter_next(PyObject *op) { longrangeiterobject *r = (longrangeiterobject*)op; if (PyObject_RichCompareBool(r->len, _PyLong_GetZero(), Py_GT) != 1) return NULL;
Expand All @@ -1107,7 +1110,7 @@ PyTypeObject PyLongRangeIter_Type = { sizeof(longrangeiterobject), /* tp_basicsize */ 0, /* tp_itemsize */ /* methods */ (destructor)longrangeiter_dealloc, /* tp_dealloc */ longrangeiter_dealloc, /* tp_dealloc */ 0, /* tp_vectorcall_offset */ 0, /* tp_getattr */ 0, /* tp_setattr */ Expand All @@ -1129,7 +1132,7 @@ PyTypeObject PyLongRangeIter_Type = { 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ PyObject_SelfIter, /* tp_iter */ (iternextfunc)longrangeiter_next, /* tp_iternext */ longrangeiter_next, /* tp_iternext */ longrangeiter_methods, /* tp_methods */ 0, }; Expand Down