8000 gh-111178: Fix function signatures in tupleobject.c · python/cpython@aac932c · GitHub
[go: up one dir, main page]

Skip to content

Commit aac932c

Browse files
committed
gh-111178: Fix function signatures in tupleobject.c
1 parent 7e7223e commit aac932c

File tree

1 file changed

+30
-26
lines changed

1 file changed

+30
-26
lines changed

Objects/tupleobject.c

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,9 @@ PyTuple_Pack(Py_ssize_t n, ...)
181181
/* Methods */
182182

183183
static void
184-
tupledealloc(PyTupleObject *op)
184+
tupledealloc(PyObject *arg)
185185
{
186+
PyTupleObject *op = _PyTuple_CAST(arg);
186187
if (Py_SIZE(op) == 0) {
187188
/* The empty tuple is statically allocated. */
188189
if (op == &_Py_SINGLETON(tuple_empty)) {
@@ -316,8 +317,9 @@ tuplerepr(PyTupleObject *v)
316317
/* Tests have shown that it's not worth to cache the hash value, see
317318
https://bugs.python.org/issue9685 */
318319
static Py_hash_t
319-
tuplehash(PyTupleObject *v)
320+
tuplehash(PyObject *op)
320321
{
322+
PyTupleObject *v = _PyTuple_CAST(op);
321323
Py_ssize_t i, len = Py_SIZE(v);
322324
PyObject **item = v->ob_item;
323325

@@ -342,25 +344,27 @@ tuplehash(PyTupleObject *v)
342344
}
343345

344346
static Py_ssize_t
345-
tuplelength(PyTupleObject *a)
347+
tuplelength(PyObject *op)
346348
{
349+
PyTupleObject *a = _PyTuple_CAST(op);
347350
return Py_SIZE(a);
348351
}
349352

350353
static int
351-
tuplecontains(PyTupleObject *a, PyObject *el)
354+
tuplecontains(PyObject *op, PyObject *el)
352355
{
353-
Py_ssize_t i;
354-
int cmp;
355-
356-
for (i = 0, cmp = 0 ; cmp == 0 && i < Py_SIZE(a); ++i)
356+
PyTupleObject *a = _PyTuple_CAST(op);
357+
int cmp = 0;
358+
for (Py_ssize_t i = 0; cmp == 0 && i < Py_SIZE(a); ++i) {
357359
cmp = PyObject_RichCompareBool(PyTuple_GET_ITEM(a, i), el, Py_EQ);
360+
}
358361
return cmp;
359362
}
360363

361364
static PyObject *
362-
tupleitem(PyTupleObject *a, Py_ssize_t i)
365+
tupleitem(PyObject *op, Py_ssize_t i)
363366
{
367+
PyTupleObject *a = _PyTuple_CAST(op);
364368
if (i < 0 || i >= Py_SIZE(a)) {
365369
PyErr_SetString(PyExc_IndexError, "tuple index out of range");
366370
return NULL;
@@ -458,12 +462,9 @@ PyTuple_GetSlice(PyObject *op, Py_ssize_t i, Py_ssize_t j)
458462
}
459463

460464
static PyObject *
461-
tupleconcat(PyTupleObject *a, PyObject *bb)
465+
tupleconcat(PyObject *op, PyObject *bb)
462466
{
463-
Py_ssize_t size;
464-
Py_ssize_t i;
465-
PyObject **src, **dest;
466-
PyTupleObject *np;
467+
PyTupleObject *a = _PyTuple_CAST(op);
467468
if (Py_SIZE(a) == 0 && PyTuple_CheckExact(bb)) {
468469
return Py_NewRef(bb);
469470
}
@@ -479,27 +480,30 @@ tupleconcat(PyTupleObject *a, PyObject *bb)
479480
return Py_NewRef(a);
480481
}
481482
assert((size_t)Py_SIZE(a) + (size_t)Py_SIZE(b) < PY_SSIZE_T_MAX);
482-
size = Py_SIZE(a) + Py_SIZE(b);
483+
Py_ssize_t size = Py_SIZE(a) + Py_SIZE(b);
483484
if (size == 0) {
484485
return tuple_get_empty();
485486
}
486487

487-
np = tuple_alloc(size);
488+
PyTupleObject *np = tuple_alloc(size);
488489
if (np == NULL) {
489490
return NULL;
490491
}
491-
src = a->ob_item;
492-
dest = np->ob_item;
493-
for (i = 0; i < Py_SIZE(a); i++) {
492+
493+
PyObject **src = a->ob_item;
494+
PyObject **dest = np->ob_item;
495+
for (Py_ssize_t i = 0; i < Py_SIZE(a); i++) {
494496
PyObject *v = src[i];
495497
dest[i] = Py_NewRef(v);
496498
}
499+
497500
src = b->ob_item;
498501
dest = np->ob_item + Py_SIZE(a);
499-
for (i = 0; i < Py_SIZE(b); i++) {
502+
for (Py_ssize_t i = 0; i < Py_SIZE(b); i++) {
500503
PyObject *v = src[i];
501504
dest[i] = Py_NewRef(v);
502505
}
506+
503507
_PyObject_GC_TRACK(np);
504508
return (PyObject *)np;
505509
}
@@ -621,11 +625,10 @@ tuple_count(PyTupleObject *self, PyObject *value)
621625
}
622626

623627
static int
624-
tupletraverse(PyTupleObject *o, visitproc visit, void *arg)
628+
tupletraverse(PyObject *op, visitproc visit, void *arg)
625629
{
626-
Py_ssize_t i;
627-
628-
for (i = Py_SIZE(o); --i >= 0; )
630+
PyTupleObject *o = _PyTuple_CAST(op);
631+
for (Py_ssize_t i = Py_SIZE(o); --i >= 0; )
629632
Py_VISIT(o->ob_item[i]);
630633
return 0;
631634
}
@@ -781,15 +784,16 @@ static PySequenceMethods tuple_as_sequence = {
781784
};
782785

783786
static PyObject*
784-
tuplesubscript(PyTupleObject* self, PyObject* item)
787+
tuplesubscript(PyObject *op, PyObject* item)
785788
{
789+
PyTupleObject *self = _PyTuple_CAST(op);
786790
if (_PyIndex_Check(item)) {
787791
Py_ssize_t i = PyNumber_AsSsize_t(item, PyExc_IndexError);
788792
if (i == -1 && PyErr_Occurred())
789793
return NULL;
790794
if (i < 0)
791795
i += PyTuple_GET_SIZE(self);
792-
return tupleitem(self, i);
796+
return tupleitem((PyObject*)self, i);
793797
}
794798
else if (PySlice_Check(item)) {
795799
Py_ssize_t start, stop, step, slicelength, i;

0 commit comments

Comments
 (0)
0