https://github.com/python/cpython/commit/48cca72a7ffb9e8ff26a98ad429c72a78b2558b1
commit: 48cca72a7ffb9e8ff26a98ad429c72a78b2558b1
branch: main
author: Victor Stinner <[email protected]>
committer: vstinner <[email protected]>
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 -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]