@@ -11,6 +11,8 @@ typedef struct {
1111 Py_ssize_t references ;
1212} testBufObject ;
1313
14+ #define testBufObject_CAST (op ) ((testBufObject *)(op))
15+
1416static PyObject *
1517testbuf_new (PyTypeObject * type , PyObject * args , PyObject * kwds )
1618{
@@ -29,30 +31,34 @@ testbuf_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
2931}
3032
3133static int
32- testbuf_traverse (testBufObject * self , visitproc visit , void * arg )
34+ testbuf_traverse (PyObject * op , visitproc visit , void * arg )
3335{
36+ testBufObject * self = testBufObject_CAST (op );
3437 Py_VISIT (self -> obj );
3538 return 0 ;
3639}
3740
3841static int
39- testbuf_clear (testBufObject * self )
42+ testbuf_clear (PyObject * op )
4043{
44+ testBufObject * self = testBufObject_CAST (op );
4145 Py_CLEAR (self -> obj );
4246 return 0 ;
4347}
4448
4549static void
46- testbuf_dealloc (testBufObject * self )
50+ testbuf_dealloc (PyObject * op )
4751{
52+ testBufObject * self = testBufObject_CAST (op );
4853 PyObject_GC_UnTrack (self );
4954 Py_XDECREF (self -> obj );
50- Py_TYPE (self )-> tp_free (( PyObject * ) self );
55+ Py_TYPE (self )-> tp_free (self );
5156}
5257
5358static int
54- testbuf_getbuf (testBufObject * self , Py_buffer * view , int flags )
59+ testbuf_getbuf (PyObject * op , Py_buffer * view , int flags )
5560{
61+ testBufObject * self = testBufObject_CAST (op );
5662 int buf = PyObject_GetBuffer (self -> obj , view , flags );
5763 if (buf == 0 ) {
5864 Py_SETREF (view -> obj , Py_NewRef (self ));
@@ -62,15 +68,16 @@ testbuf_getbuf(testBufObject *self, Py_buffer *view, int flags)
6268}
6369
6470static void
65- testbuf_releasebuf (testBufObject * self , Py_buffer * view )
71+ testbuf_releasebuf (PyObject * op , Py_buffer * Py_UNUSED ( view ) )
6672{
73+ testBufObject * self = testBufObject_CAST (op );
6774 self -> references -- ;
6875 assert (self -> references >= 0 );
6976}
7077
7178static PyBufferProcs testbuf_as_buffer = {
72- .bf_getbuffer = ( getbufferproc ) testbuf_getbuf ,
73- .bf_releasebuffer = ( releasebufferproc ) testbuf_releasebuf ,
79+ .bf_getbuffer = testbuf_getbuf ,
80+ .bf_releasebuffer = testbuf_releasebuf ,
7481};
7582
7683static struct PyMemberDef testbuf_members [] = {
@@ -84,9 +91,9 @@ static PyTypeObject testBufType = {
8491 .tp_basicsize = sizeof (testBufObject ),
8592 .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC ,
8693 .tp_new = testbuf_new ,
87- .tp_dealloc = ( destructor ) testbuf_dealloc ,
88- .tp_traverse = ( traverseproc ) testbuf_traverse ,
89- .tp_clear = ( inquiry ) testbuf_clear ,
94+ .tp_dealloc = testbuf_dealloc ,
95+ .tp_traverse = testbuf_traverse ,
96+ .tp_clear = testbuf_clear ,
9097 .tp_as_buffer = & testbuf_as_buffer ,
9198 .tp_members = testbuf_members
9299};
0 commit comments