Commit 6d97e52 1 parent f65fdbb commit 6d97e52 Copy full SHA for 6d97e52
File tree 1 file changed +14
-16
lines changed
1 file changed +14
-16
lines changed Original file line number Diff line number Diff line change @@ -202,19 +202,11 @@ static struct PyMethodDef sound_methods[] =
202
202
{NULL , NULL }
203
203
};
204
204
205
- static void
206
- add_define (PyObject * dict , const char * key , long value )
207
- {
208
- PyObject * k = PyUnicode_FromString (key );
209
- PyObject * v = PyLong_FromLong (value );
210
- if (v && k ) {
211
- PyDict_SetItem (dict , k , v );
212
- }
213
- Py_XDECREF (k );
214
- Py_XDECREF (v );
215
- }
216
-
217
- #define ADD_DEFINE (tok ) add_define(dict,#tok,tok)
205
+ #define ADD_DEFINE (CONST ) do { \
206
+ if (PyModule_AddIntConstant(module, #CONST, CONST) < 0) { \
207
+ goto error; \
208
+ } \
209
+ } while (0)
218
210
219
211
220
212
static struct PyModuleDef winsoundmodule = {
@@ -232,11 +224,10 @@ static struct PyModuleDef winsoundmodule = {
232
224
PyMODINIT_FUNC
233
225
PyInit_winsound (void )
234
226
{
235
- PyObject * dict ;
236
227
PyObject * module = PyModule_Create (& winsoundmodule );
237
- if (module == NULL )
228
+ if (module == NULL ) {
238
229
return NULL ;
239
- dict = PyModule_GetDict ( module );
230
+ }
240
231
241
232
ADD_DEFINE (SND_ASYNC );
242
233
ADD_DEFINE (SND_NODEFAULT );
@@ -254,5 +245,12 @@ PyInit_winsound(void)
254
245
ADD_DEFINE (MB_ICONEXCLAMATION );
255
246
ADD_DEFINE (MB_ICONHAND );
256
247
ADD_DEFINE (MB_ICONQUESTION );
248
+
249
+ #undef ADD_DEFINE
250
+
257
251
return module ;
252
+
253
+ error :
254
+ Py_DECREF (module );
255
+ return NULL ;
258
256
}
You can’t perform that action at this time.
0 commit comments