@@ -164,8 +164,9 @@ These are exactly the valid indices for a list of 4 elements.\n\
164
164
When step is given, it specifies the increment (or decrement)." );
165
165
166
166
static void
167
- range_dealloc (rangeobject * r )
167
+ range_dealloc (PyObject * op )
168
168
{
169
+ rangeobject * r = (rangeobject * )op ;
169
170
Py_DECREF (r -> start );
170
171
Py_DECREF (r -> stop );
171
172
Py_DECREF (r -> step );
@@ -304,8 +305,9 @@ compute_range_length(PyObject *start, PyObject *stop, PyObject *step)
304
305
}
305
306
306
307
static Py_ssize_t
307
- range_length (rangeobject * r )
308
+ range_length (PyObject * op )
308
309
{
310
+ rangeobject * r = (rangeobject * )op ;
309
311
return PyLong_AsSsize_t (r -> length );
310
312
}
311
313
@@ -383,8 +385,9 @@ compute_range_item(rangeobject *r, PyObject *arg)
383
385
}
384
386
385
387
static PyObject *
386
- range_item (rangeobject * r , Py_ssize_t i )
388
+ range_item (PyObject * op , Py_ssize_t i )
387
389
{
390
+ rangeobject * r = (rangeobject * )op ;
388
391
PyObject * res , * arg = PyLong_FromSsize_t (i );
389
392
if (!arg ) {
390
393
return NULL ;
@@ -480,8 +483,9 @@ range_contains_long(rangeobject *r, PyObject *ob)
480
483
}
481
484
482
485
static int
483
- range_contains (rangeobject * r , PyObject * ob )
486
+ range_contains (PyObject * self , PyObject * ob )
484
487
{
488
+ rangeobject * r = (rangeobject * )self ;
485
489
if (PyLong_CheckExact (ob ) || PyBool_Check (ob ))
486
490
return range_contains_long (r , ob );
487
491
@@ -569,8 +573,9 @@ range_richcompare(PyObject *self, PyObject *other, int op)
569
573
return hash((len(r), r.start, r.step))
570
574
*/
571
575
static Py_hash_t
572
- range_hash (rangeobject * r )
576
+ range_hash (PyObject * op )
573
577
{
578
+ rangeobject * r = (rangeobject * )op ;
574
579
PyObject * t ;
575
580
Py_hash_t result = -1 ;
576
581
int cmp_result ;
@@ -605,8 +610,9 @@ range_hash(rangeobject *r)
605
610
}
606
611
607
612
static PyObject *
608
- range_count (rangeobject * r , PyObject * ob )
613
+ range_count (PyObject * self , PyObject * ob )
609
614
{
615
+ rangeobject * r = (rangeobject * )self ;
610
616
if (PyLong_CheckExact (ob ) || PyBool_Check (ob )) {
611
617
int result = range_contains_long (r , ob );
612
618
if (result == -1 )
@@ -622,8 +628,9 @@ range_count(rangeobject *r, PyObject *ob)
622
628
}
623
629
624
630
static PyObject *
625
- range_index (rangeobject * r , PyObject * ob )
631
+ range_index (PyObject * self , PyObject * ob )
626
632
{
633
+ rangeobject * r = (rangeobject * )self ;
627
634
int contains ;
628
635
629
636
if (!PyLong_CheckExact (ob ) && !PyBool_Check (ob )) {
@@ -660,19 +667,20 @@ range_index(rangeobject *r, PyObject *ob)
660
667
}
661
668
662
669
static PySequenceMethods range_as_sequence = {
663
- ( lenfunc ) range_length , /* sq_length */
670
+ range_length , /* sq_length */
664
671
0 , /* sq_concat */
665
672
0 , /* sq_repeat */
666
- ( ssizeargfunc ) range_item , /* sq_item */
673
+ range_item , /* sq_item */
667
674
0 , /* sq_slice */
668
675
0 , /* sq_ass_item */
669
676
0 , /* sq_ass_slice */
670
- ( objobjproc ) range_contains , /* sq_contains */
677
+ range_contains , /* sq_contains */
671
678
};
672
679
673
680
static PyObject *
674
- range_repr (rangeobject * r )
681
+ range_repr (PyObject * op )
675
682
{
683
+ rangeobject * r = (rangeobject * )op ;
676
684
Py_ssize_t istep ;
677
685
678
686
/* Check for special case values for printing. We don't always
@@ -692,15 +700,17 @@ range_repr(rangeobject *r)
692
700
693
701
/* Pickling support */
694
702
static PyObject *
695
- range_reduce (rangeobject * r , PyObject * args )
703
+ range_reduce (PyObject * op , PyObject * args )
696
704
{
705
+ rangeobject * r = (rangeobject * )op ;
697
706
return Py_BuildValue ("(O(OOO))" , Py_TYPE (r ),
698
707
r -> start , r -> stop , r -> step );
699
708
}
700
709
701
710
static PyObject *
702
- range_subscript (rangeobject * self , PyObject * item )
711
+ range_subscript (PyObject * op , PyObject * item )
703
712
{
713
+ rangeobject * self = (rangeobject * )op ;
704
714
if (_PyIndex_Check (item )) {
705
715
PyObject * i , * result ;
706
716
i = PyNumber_Index (item );
@@ -721,19 +731,20 @@ range_subscript(rangeobject* self, PyObject* item)
721
731
722
732
723
733
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 */
726
736
(objobjargproc )0 , /* mp_ass_subscript */
727
737
};
728
738
729
739
static int
730
- range_bool (rangeobject * self )
740
+ range_bool (PyObject * op )
731
741
{
742
+ rangeobject * self = (rangeobject * )op ;
732
743
return PyObject_IsTrue (self -> length );
733
744
}
734
745
735
746
static PyNumberMethods range_as_number = {
736
- .nb_bool = ( inquiry ) range_bool ,
747
+ .nb_bool = range_bool ,
737
748
};
738
749
739
750
static PyObject * range_iter (PyObject * seq );
@@ -751,9 +762,9 @@ PyDoc_STRVAR(index_doc,
751
762
752
763
static PyMethodDef range_methods [] = {
753
764
{"__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 },
757
768
{NULL , NULL } /* sentinel */
758
769
};
759
770
@@ -769,16 +780,16 @@ PyTypeObject PyRange_Type = {
769
780
"range" , /* Name of this type */
770
781
sizeof (rangeobject ), /* Basic object size */
771
782
0 , /* Item size for varobject */
772
- ( destructor ) range_dealloc , /* tp_dealloc */
783
+ range_dealloc , /* tp_dealloc */
773
784
0 , /* tp_vectorcall_offset */
774
785
0 , /* tp_getattr */
775
786
0 , /* tp_setattr */
776
787
0 , /* tp_as_async */
777
- ( reprfunc ) range_repr , /* tp_repr */
788
+ range_repr , /* tp_repr */
778
789
& range_as_number , /* tp_as_number */
779
790
& range_as_sequence , /* tp_as_sequence */
780
791
& range_as_mapping , /* tp_as_mapping */
781
- ( hashfunc ) range_hash , /* tp_hash */
792
+ range_hash , /* tp_hash */
782
793
0 , /* tp_call */
783
794
0 , /* tp_str */
784
795
PyObject_GenericGetAttr , /* tp_getattro */
0 commit comments