@@ -197,35 +197,41 @@ typedef struct {
197197 PyObject * weakreflist ;
198198} simplequeueobject ;
199199
200+ #define simplequeueobject_CAST (op ) ((simplequeueobject *)(op))
201+
200202/*[clinic input]
201203module _queue
202204class _queue.SimpleQueue "simplequeueobject *" "simplequeue_get_state_by_type(type)->SimpleQueueType"
203205[clinic start generated code]*/
204206/*[clinic end generated code: output=da39a3ee5e6b4b0d input=0a4023fe4d198c8d]*/
205207
206208static int
207- simplequeue_clear (simplequeueobject * self )
209+ simplequeue_clear (PyObject * op )
208210{
211+ simplequeueobject * self = simplequeueobject_CAST (op );
209212 RingBuf_Fini (& self -> buf );
210213 return 0 ;
211214}
212215
213216static void
214- simplequeue_dealloc (simplequeueobject * self )
217+ simplequeue_dealloc (PyObject * op )
215218{
219+ simplequeueobject * self = simplequeueobject_CAST (op );
216220 PyTypeObject * tp = Py_TYPE (self );
217221
218222 PyObject_GC_UnTrack (self );
219- (void )simplequeue_clear (self );
220- if (self -> weakreflist != NULL )
221- PyObject_ClearWeakRefs ((PyObject * ) self );
222- Py_TYPE (self )-> tp_free (self );
223+ (void )simplequeue_clear (op );
224+ if (self -> weakreflist != NULL ) {
225+ PyObject_ClearWeakRefs (op );
226+ }
227+ tp -> tp_free (self );
223228 Py_DECREF (tp );
224229}
225230
226231static int
227- simplequeue_traverse (simplequeueobject * self , visitproc visit , void * arg )
232+ simplequeue_traverse (PyObject * op , visitproc visit , void * arg )
228233{
234+ simplequeueobject * self = simplequeueobject_CAST (op );
229235 RingBuf * buf = & self -> buf ;
230236 for (Py_ssize_t i = 0 , num_items = buf -> num_items ; i < num_items ; i ++ ) {
231237 Py_VISIT (RingBuf_At (buf , i ));
@@ -514,7 +520,7 @@ queue_clear(PyObject *m)
514520static void
515521queue_free (void * m )
516522{
517- queue_clear ((PyObject * )m );
523+ ( void ) queue_clear ((PyObject * )m );
518524}
519525
520526#include "clinic/_queuemodule.c.h"
0 commit comments