@@ -10372,9 +10372,12 @@ typedef struct _PyBufferWrapper {
10372
10372
PyObject * obj ;
10373
10373
} PyBufferWrapper ;
10374
10374
10375
+ #define PyBufferWrapper_CAST (op ) ((PyBufferWrapper *)(op))
10376
+
10375
10377
static int
10376
- bufferwrapper_traverse (PyBufferWrapper * self , visitproc visit , void * arg )
10378
+ bufferwrapper_traverse (PyObject * op , visitproc visit , void * arg )
10377
10379
{
10380
+ PyBufferWrapper * self = PyBufferWrapper_CAST (op );
10378
10381
Py_VISIT (self -> mv );
10379
10382
Py_VISIT (self -> obj );
10380
10383
return 0 ;
@@ -10383,7 +10386,7 @@ bufferwrapper_traverse(PyBufferWrapper *self, visitproc visit, void *arg)
10383
10386
static void
10384
10387
bufferwrapper_dealloc (PyObject * self )
10385
10388
{
10386
- PyBufferWrapper * bw = ( PyBufferWrapper * ) self ;
10389
+ PyBufferWrapper * bw = PyBufferWrapper_CAST ( self ) ;
10387
10390
10388
10391
_PyObject_GC_UNTRACK (self );
10389
10392
Py_XDECREF (bw -> mv );
@@ -10394,7 +10397,7 @@ bufferwrapper_dealloc(PyObject *self)
10394
10397
static void
10395
10398
bufferwrapper_releasebuf (PyObject * self , Py_buffer * view )
10396
10399
{
10397
- PyBufferWrapper * bw = ( PyBufferWrapper * ) self ;
10400
+ PyBufferWrapper * bw = PyBufferWrapper_CAST ( self ) ;
10398
10401
10399
10402
if (bw -> mv == NULL || bw -> obj == NULL ) {
10400
10403
// Already released
@@ -10429,7 +10432,7 @@ PyTypeObject _PyBufferWrapper_Type = {
10429
10432
.tp_basicsize = sizeof (PyBufferWrapper ),
10430
10433
.tp_alloc = PyType_GenericAlloc ,
10431
10434
.tp_free = PyObject_GC_Del ,
10432
- .tp_traverse = ( traverseproc ) bufferwrapper_traverse ,
10435
+ .tp_traverse = bufferwrapper_traverse ,
10433
10436
.tp_dealloc = bufferwrapper_dealloc ,
10434
10437
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC ,
10435
10438
.tp_as_buffer = & bufferwrapper_as_buffer ,
0 commit comments