mirror of https://github.com/python/cpython
gh-103092: Isolate winsound (#103249)
This commit is contained in:
parent
5ed2f19b39
commit
f80014a9b0
|
@ -0,0 +1 @@
|
||||||
|
Adapt the :mod:`winsound` extension module to :pep:`687`.
|
|
@ -204,31 +204,13 @@ static struct PyMethodDef sound_methods[] =
|
||||||
|
|
||||||
#define ADD_DEFINE(CONST) do { \
|
#define ADD_DEFINE(CONST) do { \
|
||||||
if (PyModule_AddIntConstant(module, #CONST, CONST) < 0) { \
|
if (PyModule_AddIntConstant(module, #CONST, CONST) < 0) { \
|
||||||
goto error; \
|
return -1; \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
static int
|
||||||
static struct PyModuleDef winsoundmodule = {
|
exec_module(PyObject *module)
|
||||||
PyModuleDef_HEAD_INIT,
|
|
||||||
"winsound",
|
|
||||||
sound_module_doc,
|
|
||||||
-1,
|
|
||||||
sound_methods,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
PyMODINIT_FUNC
|
|
||||||
PyInit_winsound(void)
|
|
||||||
{
|
{
|
||||||
PyObject *module = PyModule_Create(&winsoundmodule);
|
|
||||||
if (module == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
ADD_DEFINE(SND_ASYNC);
|
ADD_DEFINE(SND_ASYNC);
|
||||||
ADD_DEFINE(SND_NODEFAULT);
|
ADD_DEFINE(SND_NODEFAULT);
|
||||||
ADD_DEFINE(SND_NOSTOP);
|
ADD_DEFINE(SND_NOSTOP);
|
||||||
|
@ -248,9 +230,24 @@ PyInit_winsound(void)
|
||||||
|
|
||||||
#undef ADD_DEFINE
|
#undef ADD_DEFINE
|
||||||
|
|
||||||
return module;
|
return 0;
|
||||||
|
}
|
||||||
error:
|
|
||||||
Py_DECREF(module);
|
static PyModuleDef_Slot sound_slots[] = {
|
||||||
return NULL;
|
{Py_mod_exec, exec_module},
|
||||||
|
{0, NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct PyModuleDef winsoundmodule = {
|
||||||
|
.m_base = PyModuleDef_HEAD_INIT,
|
||||||
|
.m_name = "winsound",
|
||||||
|
.m_doc = sound_module_doc,
|
||||||
|
.m_methods = sound_methods,
|
||||||
|
.m_slots = sound_slots,
|
||||||
|
};
|
||||||
|
|
||||||
|
PyMODINIT_FUNC
|
||||||
|
PyInit_winsound(void)
|
||||||
|
{
|
||||||
|
return PyModuleDef_Init(&winsoundmodule);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue