@@ -64,6 +64,8 @@ typedef struct {
64
64
DBM * di_dbm ;
65
65
} dbmobject ;
66
66
67
+ #define dbmobject_CAST (op ) ((dbmobject *)(op))
68
+
67
69
#include "clinic/_dbmmodule.c.h"
68
70
69
71
#define check_dbmobject_open (v , err ) \
@@ -94,15 +96,16 @@ newdbmobject(_dbm_state *state, const char *file, int flags, int mode)
94
96
95
97
/* Methods */
96
98
static int
97
- dbm_traverse (dbmobject * dp , visitproc visit , void * arg )
99
+ dbm_traverse (PyObject * dp , visitproc visit , void * arg )
98
100
{
99
101
Py_VISIT (Py_TYPE (dp ));
100
102
return 0 ;
101
103
}
102
104
103
105
static void
104
- dbm_dealloc (dbmobject * dp )
106
+ dbm_dealloc (PyObject * self )
105
107
{
108
+ dbmobject * dp = dbmobject_CAST (self );
106
109
PyObject_GC_UnTrack (dp );
107
110
if (dp -> di_dbm ) {
108
111
dbm_close (dp -> di_dbm );
@@ -113,8 +116,9 @@ dbm_dealloc(dbmobject *dp)
113
116
}
114
117
115
118
static Py_ssize_t
116
- dbm_length (dbmobject * dp )
119
+ dbm_length (PyObject * self )
117
120
{
121
+ dbmobject * dp = dbmobject_CAST (self );
118
122
_dbm_state * state = PyType_GetModuleState (Py_TYPE (dp ));
119
123
assert (state != NULL );
120
124
if (dp -> di_dbm == NULL ) {
@@ -135,8 +139,9 @@ dbm_length(dbmobject *dp)
135
139
}
136
140
137
141
static int
138
- dbm_bool (dbmobject * dp )
142
+ dbm_bool (PyObject * self )
139
143
{
144
+ dbmobject * dp = dbmobject_CAST (self );
140
145
_dbm_state * state = PyType_GetModuleState (Py_TYPE (dp ));
141
146
assert (state != NULL );
142
147
@@ -166,10 +171,11 @@ dbm_bool(dbmobject *dp)
166
171
}
167
172
168
173
static PyObject *
169
- dbm_subscript (dbmobject * dp , PyObject * key )
174
+ dbm_subscript (PyObject * self , PyObject * key )
170
175
{
171
176
datum drec , krec ;
172
177
Py_ssize_t tmp_size ;
178
+ dbmobject * dp = dbmobject_CAST (self );
173
179
_dbm_state * state = PyType_GetModuleState (Py_TYPE (dp ));
174
180
assert (state != NULL );
175
181
if (!PyArg_Parse (key , "s#" , & krec .dptr , & tmp_size )) {
@@ -192,10 +198,11 @@ dbm_subscript(dbmobject *dp, PyObject *key)
192
198
}
193
199
194
200
static int
195
- dbm_ass_sub (dbmobject * dp , PyObject * v , PyObject * w )
201
+ dbm_ass_sub (PyObject * self , PyObject * v , PyObject * w )
196
202
{
197
203
datum krec , drec ;
198
204
Py_ssize_t tmp_size ;
205
+ dbmobject * dp = dbmobject_CAST (self );
199
206
200
207
if ( !PyArg_Parse (v , "s#" , & krec .dptr , & tmp_size ) ) {
201
208
PyErr_SetString (PyExc_TypeError ,
@@ -305,7 +312,7 @@ _dbm_dbm_keys_impl(dbmobject *self, PyTypeObject *cls)
305
312
static int
306
313
dbm_contains (PyObject * self , PyObject * arg )
307
314
{
308
- dbmobject * dp = ( dbmobject * ) self ;
315
+ dbmobject * dp = dbmobject_CAST ( self ) ;
309
316
datum key , val ;
310
317
Py_ssize_t size ;
311
318
@@ -452,15 +459,16 @@ _dbm_dbm_clear_impl(dbmobject *self, PyTypeObject *cls)
452
459
}
453
460
454
461
static PyObject *
455
- dbm__enter__ (PyObject * self , PyObject * args )
462
+ dbm__enter__ (PyObject * self , PyObject * Py_UNUSED ( dummy ) )
456
463
{
457
464
return Py_NewRef (self );
458
465
}
459
466
460
467
static PyObject *
461
- dbm__exit__ (PyObject * self , PyObject * args )
468
+ dbm__exit__ (PyObject * self , PyObject * Py_UNUSED ( args ) )
462
469
{
463
- return _dbm_dbm_close_impl ((dbmobject * )self );
470
+ dbmobject * dp = dbmobject_CAST (self );
471
+ return _dbm_dbm_close_impl (dp );
464
472
}
465
473
466
474
static PyMethodDef dbm_methods [] = {
@@ -610,7 +618,7 @@ _dbm_module_clear(PyObject *module)
610
618
static void
611
619
_dbm_module_free (void * module )
612
620
{
613
- _dbm_module_clear ((PyObject * )module );
621
+ ( void ) _dbm_module_clear ((PyObject * )module );
614
622
}
615
623
616
624
static PyModuleDef_Slot _dbmmodule_slots [] = {
0 commit comments