https://github.com/python/cpython/commit/daeb0efaf445be5634d73e13d39a2641851b0bb4 commit: daeb0efaf445be5634d73e13d39a2641851b0bb4 branch: main author: Victor Stinner <vstin...@python.org> committer: vstinner <vstin...@python.org> date: 2025-02-26T21:37:22+01:00 summary:
gh-111178: Fix function signatures in sliceobject.c (#130575) Rename slicehash() to slice_hash() for consistency. files: M Objects/sliceobject.c diff --git a/Objects/sliceobject.c b/Objects/sliceobject.c index 1b07c2a2c498b9..9f6d51cb79c73b 100644 --- a/Objects/sliceobject.c +++ b/Objects/sliceobject.c @@ -21,6 +21,9 @@ this type and there is exactly one in existence. #include "pycore_object.h" // _PyObject_GC_TRACK() +#define _PySlice_CAST(op) _Py_CAST(PySliceObject*, (op)) + + static PyObject * ellipsis_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { @@ -341,8 +344,9 @@ slice(start, stop[, step])\n\ Create a slice object. This is used for extended slicing (e.g. a[0:10:2])."); static void -slice_dealloc(PySliceObject *r) +slice_dealloc(PyObject *op) { + PySliceObject *r = _PySlice_CAST(op); PyObject_GC_UnTrack(r); Py_DECREF(r->step); Py_DECREF(r->start); @@ -351,9 +355,11 @@ slice_dealloc(PySliceObject *r) } static PyObject * -slice_repr(PySliceObject *r) +slice_repr(PyObject *op) { - return PyUnicode_FromFormat("slice(%R, %R, %R)", r->start, r->stop, r->step); + PySliceObject *r = _PySlice_CAST(op); + return PyUnicode_FromFormat("slice(%R, %R, %R)", + r->start, r->stop, r->step); } static PyMemberDef slice_members[] = { @@ -614,8 +620,9 @@ slice_richcompare(PyObject *v, PyObject *w, int op) } static int -slice_traverse(PySliceObject *v, visitproc visit, void *arg) +slice_traverse(PyObject *op, visitproc visit, void *arg) { + PySliceObject *v = _PySlice_CAST(op); Py_VISIT(v->start); Py_VISIT(v->stop); Py_VISIT(v->step); @@ -636,8 +643,9 @@ slice_traverse(PySliceObject *v, visitproc visit, void *arg) #endif static Py_hash_t -slicehash(PySliceObject *v) +slice_hash(PyObject *op) { + PySliceObject *v = _PySlice_CAST(op); Py_uhash_t acc = _PyHASH_XXPRIME_5; #define _PyHASH_SLICE_PART(com) { \ Py_uhash_t lane = PyObject_Hash(v->com); \ @@ -663,16 +671,16 @@ PyTypeObject PySlice_Type = { "slice", /* Name of this type */ sizeof(PySliceObject), /* Basic object size */ 0, /* Item size for varobject */ - (destructor)slice_dealloc, /* tp_dealloc */ + slice_dealloc, /* tp_dealloc */ 0, /* tp_vectorcall_offset */ 0, /* tp_getattr */ 0, /* tp_setattr */ 0, /* tp_as_async */ - (reprfunc)slice_repr, /* tp_repr */ + slice_repr, /* tp_repr */ 0, /* tp_as_number */ 0, /* tp_as_sequence */ 0, /* tp_as_mapping */ - (hashfunc)slicehash, /* tp_hash */ + slice_hash, /* tp_hash */ 0, /* tp_call */ 0, /* tp_str */ PyObject_GenericGetAttr, /* tp_getattro */ @@ -680,7 +688,7 @@ PyTypeObject PySlice_Type = { 0, /* tp_as_buffer */ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags */ slice_doc, /* tp_doc */ - (traverseproc)slice_traverse, /* tp_traverse */ + slice_traverse, /* tp_traverse */ 0, /* tp_clear */ slice_richcompare, /* tp_richcompare */ 0, /* tp_weaklistoffset */ _______________________________________________ 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