Use PyModule_AddObject() instead of accessing the module dict directly.
This commit is contained in:
parent
cca657b8fe
commit
78f6c867ae
|
@ -1502,16 +1502,18 @@ static PyMethodDef struct_methods[] = {
|
|||
DL_EXPORT(void)
|
||||
initstruct(void)
|
||||
{
|
||||
PyObject *m, *d;
|
||||
PyObject *m;
|
||||
|
||||
/* Create the module and add the functions */
|
||||
m = Py_InitModule4("struct", struct_methods, struct__doc__,
|
||||
(PyObject*)NULL, PYTHON_API_VERSION);
|
||||
|
||||
/* Add some symbolic constants to the module */
|
||||
d = PyModule_GetDict(m);
|
||||
StructError = PyErr_NewException("struct.error", NULL, NULL);
|
||||
if (StructError == NULL)
|
||||
return;
|
||||
PyDict_SetItemString(d, "error", StructError);
|
||||
if (StructError == NULL) {
|
||||
StructError = PyErr_NewException("struct.error", NULL, NULL);
|
||||
if (StructError == NULL)
|
||||
return;
|
||||
}
|
||||
Py_INCREF(StructError);
|
||||
PyModule_AddObject(d, "error", StructError);
|
||||
}
|
||||
|
|
|
@ -891,15 +891,17 @@ static struct constant {
|
|||
DL_EXPORT(void)
|
||||
PyInit_termios(void)
|
||||
{
|
||||
PyObject *m, *d;
|
||||
PyObject *m;
|
||||
struct constant *constant = termios_constants;
|
||||
|
||||
m = Py_InitModule4("termios", termios_methods, termios__doc__,
|
||||
(PyObject *)NULL, PYTHON_API_VERSION);
|
||||
|
||||
d = PyModule_GetDict(m);
|
||||
TermiosError = PyErr_NewException("termios.error", NULL, NULL);
|
||||
PyDict_SetItemString(d, "error", TermiosError);
|
||||
if (TermiosError == NULL) {
|
||||
TermiosError = PyErr_NewException("termios.error", NULL, NULL);
|
||||
}
|
||||
Py_INCREF(TermiosError);
|
||||
PyModule_AddObject(m, "error", TermiosError);
|
||||
|
||||
while (constant->name != NULL) {
|
||||
PyModule_AddIntConstant(m, constant->name, constant->value);
|
||||
|
|
Loading…
Reference in New Issue