https://github.com/python/cpython/commit/48cca72a7ffb9e8ff26a98ad429c72a78b2558b1 commit: 48cca72a7ffb9e8ff26a98ad429c72a78b2558b1 branch: main author: Victor Stinner <vstin...@python.org> committer: vstinner <vstin...@python.org> date: 2025-03-12T07:29:20+01:00 summary:
gh-111178: Fix function signatures in rangeobject.c (#131101) files: M Objects/rangeobject.c diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c index 2942ab624edf72..6d93d778dd7fb3 100644 --- a/Objects/rangeobject.c +++ b/Objects/rangeobject.c @@ -164,8 +164,9 @@ These are exactly the valid indices for a list of 4 elements.\n\ When step is given, it specifies the increment (or decrement)."); static void -range_dealloc(rangeobject *r) +range_dealloc(PyObject *op) { + rangeobject *r = (rangeobject*)op; Py_DECREF(r->start); Py_DECREF(r->stop); Py_DECREF(r->step); @@ -304,8 +305,9 @@ compute_range_length(PyObject *start, PyObject *stop, PyObject *step) } static Py_ssize_t -range_length(rangeobject *r) +range_length(PyObject *op) { + rangeobject *r = (rangeobject*)op; return PyLong_AsSsize_t(r->length); } @@ -383,8 +385,9 @@ compute_range_item(rangeobject *r, PyObject *arg) } static PyObject * -range_item(rangeobject *r, Py_ssize_t i) +range_item(PyObject *op, Py_ssize_t i) { + rangeobject *r = (rangeobject*)op; PyObject *res, *arg = PyLong_FromSsize_t(i); if (!arg) { return NULL; @@ -480,8 +483,9 @@ range_contains_long(rangeobject *r, PyObject *ob) } static int -range_contains(rangeobject *r, PyObject *ob) +range_contains(PyObject *self, PyObject *ob) { + rangeobject *r = (rangeobject*)self; if (PyLong_CheckExact(ob) || PyBool_Check(ob)) return range_contains_long(r, ob); @@ -569,8 +573,9 @@ range_richcompare(PyObject *self, PyObject *other, int op) return hash((len(r), r.start, r.step)) */ static Py_hash_t -range_hash(rangeobject *r) +range_hash(PyObject *op) { + rangeobject *r = (rangeobject*)op; PyObject *t; Py_hash_t result = -1; int cmp_result; @@ -605,8 +610,9 @@ range_hash(rangeobject *r) } static PyObject * -range_count(rangeobject *r, PyObject *ob) +range_count(PyObject *self, PyObject *ob) { + rangeobject *r = (rangeobject*)self; if (PyLong_CheckExact(ob) || PyBool_Check(ob)) { int result = range_contains_long(r, ob); if (result == -1) @@ -622,8 +628,9 @@ range_count(rangeobject *r, PyObject *ob) } static PyObject * -range_index(rangeobject *r, PyObject *ob) +range_index(PyObject *self, PyObject *ob) { + rangeobject *r = (rangeobject*)self; int contains; if (!PyLong_CheckExact(ob) && !PyBool_Check(ob)) { @@ -660,19 +667,20 @@ range_index(rangeobject *r, PyObject *ob) } static PySequenceMethods range_as_sequence = { - (lenfunc)range_length, /* sq_length */ + range_length, /* sq_length */ 0, /* sq_concat */ 0, /* sq_repeat */ - (ssizeargfunc)range_item, /* sq_item */ + range_item, /* sq_item */ 0, /* sq_slice */ 0, /* sq_ass_item */ 0, /* sq_ass_slice */ - (objobjproc)range_contains, /* sq_contains */ + range_contains, /* sq_contains */ }; static PyObject * -range_repr(rangeobject *r) +range_repr(PyObject *op) { + rangeobject *r = (rangeobject*)op; Py_ssize_t istep; /* Check for special case values for printing. We don't always @@ -692,15 +700,17 @@ range_repr(rangeobject *r) /* Pickling support */ static PyObject * -range_reduce(rangeobject *r, PyObject *args) +range_reduce(PyObject *op, PyObject *args) { + rangeobject *r = (rangeobject*)op; return Py_BuildValue("(O(OOO))", Py_TYPE(r), r->start, r->stop, r->step); } static PyObject * -range_subscript(rangeobject* self, PyObject* item) +range_subscript(PyObject *op, PyObject *item) { + rangeobject *self = (rangeobject*)op; if (_PyIndex_Check(item)) { PyObject *i, *result; i = PyNumber_Index(item); @@ -721,19 +731,20 @@ range_subscript(rangeobject* self, PyObject* item) static PyMappingMethods range_as_mapping = { - (lenfunc)range_length, /* mp_length */ - (binaryfunc)range_subscript, /* mp_subscript */ + range_length, /* mp_length */ + range_subscript, /* mp_subscript */ (objobjargproc)0, /* mp_ass_subscript */ }; static int -range_bool(rangeobject* self) +range_bool(PyObject *op) { + rangeobject *self = (rangeobject*)op; return PyObject_IsTrue(self->length); } static PyNumberMethods range_as_number = { - .nb_bool = (inquiry)range_bool, + .nb_bool = range_bool, }; static PyObject * range_iter(PyObject *seq); @@ -751,9 +762,9 @@ PyDoc_STRVAR(index_doc, static PyMethodDef range_methods[] = { {"__reversed__", range_reverse, METH_NOARGS, reverse_doc}, - {"__reduce__", (PyCFunction)range_reduce, METH_NOARGS}, - {"count", (PyCFunction)range_count, METH_O, count_doc}, - {"index", (PyCFunction)range_index, METH_O, index_doc}, + {"__reduce__", range_reduce, METH_NOARGS}, + {"count", range_count, METH_O, count_doc}, + {"index", range_index, METH_O, index_doc}, {NULL, NULL} /* sentinel */ }; @@ -769,16 +780,16 @@ PyTypeObject PyRange_Type = { "range", /* Name of this type */ sizeof(rangeobject), /* Basic object size */ 0, /* Item size for varobject */ - (destructor)range_dealloc, /* tp_dealloc */ + range_dealloc, /* tp_dealloc */ 0, /* tp_vectorcall_offset */ 0, /* tp_getattr */ 0, /* tp_setattr */ 0, /* tp_as_async */ - (reprfunc)range_repr, /* tp_repr */ + range_repr, /* tp_repr */ &range_as_number, /* tp_as_number */ &range_as_sequence, /* tp_as_sequence */ &range_as_mapping, /* tp_as_mapping */ - (hashfunc)range_hash, /* tp_hash */ + range_hash, /* tp_hash */ 0, /* tp_call */ 0, /* tp_str */ PyObject_GenericGetAttr, /* tp_getattro */ _______________________________________________ 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