https://github.com/python/cpython/commit/36978f7ef370f3a7cd5888c5e4c8267ffaf3998e commit: 36978f7ef370f3a7cd5888c5e4c8267ffaf3998e branch: main author: Victor Stinner <vstin...@python.org> committer: vstinner <vstin...@python.org> date: 2025-03-13T10:42:59+01:00 summary:
gh-111178: Fix function signatures in iterobject.c (#131163) files: M Objects/iterobject.c diff --git a/Objects/iterobject.c b/Objects/iterobject.c index ebb342ff109222..87e30d6922ca56 100644 --- a/Objects/iterobject.c +++ b/Objects/iterobject.c @@ -31,16 +31,18 @@ PySeqIter_New(PyObject *seq) } static void -iter_dealloc(seqiterobject *it) +iter_dealloc(PyObject *op) { + seqiterobject *it = (seqiterobject*)op; _PyObject_GC_UNTRACK(it); Py_XDECREF(it->it_seq); PyObject_GC_Del(it); } static int -iter_traverse(seqiterobject *it, visitproc visit, void *arg) +iter_traverse(PyObject *op, visitproc visit, void *arg) { + seqiterobject *it = (seqiterobject*)op; Py_VISIT(it->it_seq); return 0; } @@ -79,8 +81,9 @@ iter_iternext(PyObject *iterator) } static PyObject * -iter_len(seqiterobject *it, PyObject *Py_UNUSED(ignored)) +iter_len(PyObject *op, PyObject *Py_UNUSED(ignored)) { + seqiterobject *it = (seqiterobject*)op; Py_ssize_t seqsize, len; if (it->it_seq) { @@ -102,8 +105,9 @@ iter_len(seqiterobject *it, PyObject *Py_UNUSED(ignored)) PyDoc_STRVAR(length_hint_doc, "Private method returning an estimate of len(list(it))."); static PyObject * -iter_reduce(seqiterobject *it, PyObject *Py_UNUSED(ignored)) +iter_reduce(PyObject *op, PyObject *Py_UNUSED(ignored)) { + seqiterobject *it = (seqiterobject*)op; PyObject *iter = _PyEval_GetBuiltin(&_Py_ID(iter)); /* _PyEval_GetBuiltin can invoke arbitrary code, @@ -119,8 +123,9 @@ iter_reduce(seqiterobject *it, PyObject *Py_UNUSED(ignored)) PyDoc_STRVAR(reduce_doc, "Return state information for pickling."); static PyObject * -iter_setstate(seqiterobject *it, PyObject *state) +iter_setstate(PyObject *op, PyObject *state) { + seqiterobject *it = (seqiterobject*)op; Py_ssize_t index = PyLong_AsSsize_t(state); if (index == -1 && PyErr_Occurred()) return NULL; @@ -135,9 +140,9 @@ iter_setstate(seqiterobject *it, PyObject *state) PyDoc_STRVAR(setstate_doc, "Set state information for unpickling."); static PyMethodDef seqiter_methods[] = { - {"__length_hint__", (PyCFunction)iter_len, METH_NOARGS, length_hint_doc}, - {"__reduce__", (PyCFunction)iter_reduce, METH_NOARGS, reduce_doc}, - {"__setstate__", (PyCFunction)iter_setstate, METH_O, setstate_doc}, + {"__length_hint__", iter_len, METH_NOARGS, length_hint_doc}, + {"__reduce__", iter_reduce, METH_NOARGS, reduce_doc}, + {"__setstate__", iter_setstate, METH_O, setstate_doc}, {NULL, NULL} /* sentinel */ }; @@ -147,7 +152,7 @@ PyTypeObject PySeqIter_Type = { sizeof(seqiterobject), /* tp_basicsize */ 0, /* tp_itemsize */ /* methods */ - (destructor)iter_dealloc, /* tp_dealloc */ + iter_dealloc, /* tp_dealloc */ 0, /* tp_vectorcall_offset */ 0, /* tp_getattr */ 0, /* tp_setattr */ @@ -164,7 +169,7 @@ PyTypeObject PySeqIter_Type = { 0, /* tp_as_buffer */ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags */ 0, /* tp_doc */ - (traverseproc)iter_traverse, /* tp_traverse */ + iter_traverse, /* tp_traverse */ 0, /* tp_clear */ 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ _______________________________________________ Python-checkins mailing list -- python-checkins@python.org To unsubscribe send an email to python-checkins-le...@python.org https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: arch...@mail-archive.com