Skip to content

Commit 48cca72

Browse files
authored
gh-111178: Fix function signatures in rangeobject.c (#131101)
1 parent 52756c3 commit 48cca72

File tree

1 file changed

+34
-23
lines changed

1 file changed

+34
-23
lines changed

Objects/rangeobject.c

Lines changed: 34 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,9 @@ These are exactly the valid indices for a list of 4 elements.\n\
164164
When step is given, it specifies the increment (or decrement).");
165165

166166
static void
167-
range_dealloc(rangeobject *r)
167+
range_dealloc(PyObject *op)
168168
{
169+
rangeobject *r = (rangeobject*)op;
169170
Py_DECREF(r->start);
170171
Py_DECREF(r->stop);
171172
Py_DECREF(r->step);
@@ -304,8 +305,9 @@ compute_range_length(PyObject *start, PyObject *stop, PyObject *step)
304305
}
305306

306307
static Py_ssize_t
307-
range_length(rangeobject *r)
308+
range_length(PyObject *op)
308309
{
310+
rangeobject *r = (rangeobject*)op;
309311
return PyLong_AsSsize_t(r->length);
310312
}
311313

@@ -383,8 +385,9 @@ compute_range_item(rangeobject *r, PyObject *arg)
383385
}
384386

385387
static PyObject *
386-
range_item(rangeobject *r, Py_ssize_t i)
388+
range_item(PyObject *op, Py_ssize_t i)
387389
{
390+
rangeobject *r = (rangeobject*)op;
388391
PyObject *res, *arg = PyLong_FromSsize_t(i);
389392
if (!arg) {
390393
return NULL;
@@ -480,8 +483,9 @@ range_contains_long(rangeobject *r, PyObject *ob)
480483
}
481484

482485
static int
483-
range_contains(rangeobject *r, PyObject *ob)
486+
range_contains(PyObject *self, PyObject *ob)
484487
{
488+
rangeobject *r = (rangeobject*)self;
485489
if (PyLong_CheckExact(ob) || PyBool_Check(ob))
486490
return range_contains_long(r, ob);
487491

@@ -569,8 +573,9 @@ range_richcompare(PyObject *self, PyObject *other, int op)
569573
return hash((len(r), r.start, r.step))
570574
*/
571575
static Py_hash_t
572-
range_hash(rangeobject *r)
576+
range_hash(PyObject *op)
573577
{
578+
rangeobject *r = (rangeobject*)op;
574579
PyObject *t;
575580
Py_hash_t result = -1;
576581
int cmp_result;
@@ -605,8 +610,9 @@ range_hash(rangeobject *r)
605610
}
606611

607612
static PyObject *
608-
range_count(rangeobject *r, PyObject *ob)
613+
range_count(PyObject *self, PyObject *ob)
609614
{
615+
rangeobject *r = (rangeobject*)self;
610616
if (PyLong_CheckExact(ob) || PyBool_Check(ob)) {
611617
int result = range_contains_long(r, ob);
612618
if (result == -1)
@@ -622,8 +628,9 @@ range_count(rangeobject *r, PyObject *ob)
622628
}
623629

624630
static PyObject *
625-
range_index(rangeobject *r, PyObject *ob)
631+
range_index(PyObject *self, PyObject *ob)
626632
{
633+
rangeobject *r = (rangeobject*)self;
627634
int contains;
628635

629636
if (!PyLong_CheckExact(ob) && !PyBool_Check(ob)) {
@@ -660,19 +667,20 @@ range_index(rangeobject *r, PyObject *ob)
660667
}
661668

662669
static PySequenceMethods range_as_sequence = {
663-
(lenfunc)range_length, /* sq_length */
670+
range_length, /* sq_length */
664671
0, /* sq_concat */
665672
0, /* sq_repeat */
666-
(ssizeargfunc)range_item, /* sq_item */
673+
range_item, /* sq_item */
667674
0, /* sq_slice */
668675
0, /* sq_ass_item */
669676
0, /* sq_ass_slice */
670-
(objobjproc)range_contains, /* sq_contains */
677+
range_contains, /* sq_contains */
671678
};
672679

673680
static PyObject *
674-
range_repr(rangeobject *r)
681+
range_repr(PyObject *op)
675682
{
683+
rangeobject *r = (rangeobject*)op;
676684
Py_ssize_t istep;
677685

678686
/* Check for special case values for printing. We don't always
@@ -692,15 +700,17 @@ range_repr(rangeobject *r)
692700

693701
/* Pickling support */
694702
static PyObject *
695-
range_reduce(rangeobject *r, PyObject *args)
703+
range_reduce(PyObject *op, PyObject *args)
696704
{
705+
rangeobject *r = (rangeobject*)op;
697706
return Py_BuildValue("(O(OOO))", Py_TYPE(r),
698707
r->start, r->stop, r->step);
699708
}
700709

701710
static PyObject *
702-
range_subscript(rangeobject* self, PyObject* item)
711+
range_subscript(PyObject *op, PyObject *item)
703712
{
713+
rangeobject *self = (rangeobject*)op;
704714
if (_PyIndex_Check(item)) {
705715
PyObject *i, *result;
706716
i = PyNumber_Index(item);
@@ -721,19 +731,20 @@ range_subscript(rangeobject* self, PyObject* item)
721731

722732

723733
static PyMappingMethods range_as_mapping = {
724-
(lenfunc)range_length, /* mp_length */
725-
(binaryfunc)range_subscript, /* mp_subscript */
734+
range_length, /* mp_length */
735+
range_subscript, /* mp_subscript */
726736
(objobjargproc)0, /* mp_ass_subscript */
727737
};
728738

729739
static int
730-
range_bool(rangeobject* self)
740+
range_bool(PyObject *op)
731741
{
742+
rangeobject *self = (rangeobject*)op;
732743
return PyObject_IsTrue(self->length);
733744
}
734745

735746
static PyNumberMethods range_as_number = {
736-
.nb_bool = (inquiry)range_bool,
747+
.nb_bool = range_bool,
737748
};
738749

739750
static PyObject * range_iter(PyObject *seq);
@@ -751,9 +762,9 @@ PyDoc_STRVAR(index_doc,
751762

752763
static PyMethodDef range_methods[] = {
753764
{"__reversed__", range_reverse, METH_NOARGS, reverse_doc},
754-
{"__reduce__", (PyCFunction)range_reduce, METH_NOARGS},
755-
{"count", (PyCFunction)range_count, METH_O, count_doc},
756-
{"index", (PyCFunction)range_index, METH_O, index_doc},
765+
{"__reduce__", range_reduce, METH_NOARGS},
766+
{"count", range_count, METH_O, count_doc},
767+
{"index", range_index, METH_O, index_doc},
757768
{NULL, NULL} /* sentinel */
758769
};
759770

@@ -769,16 +780,16 @@ PyTypeObject PyRange_Type = {
769780
"range", /* Name of this type */
770781
sizeof(rangeobject), /* Basic object size */
771782
0, /* Item size for varobject */
772-
(destructor)range_dealloc, /* tp_dealloc */
783+
range_dealloc, /* tp_dealloc */
773784
0, /* tp_vectorcall_offset */
774785
0, /* tp_getattr */
775786
0, /* tp_setattr */
776787
0, /* tp_as_async */
777-
(reprfunc)range_repr, /* tp_repr */
788+
range_repr, /* tp_repr */
778789
&range_as_number, /* tp_as_number */
779790
&range_as_sequence, /* tp_as_sequence */
780791
&range_as_mapping, /* tp_as_mapping */
781-
(hashfunc)range_hash, /* tp_hash */
792+
range_hash, /* tp_hash */
782793
0, /* tp_call */
783794
0, /* tp_str */
784795
PyObject_GenericGetAttr, /* tp_getattro */

0 commit comments

Comments
 (0)