Use PyModule_AddObject() instead of accessing the module dict directly.

This commit is contained in:
Fred Drake 2002-02-14 07:11:23 +00:00
parent cca657b8fe
commit 78f6c867ae
2 changed files with 14 additions and 10 deletions

View File

@ -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);
if (StructError == NULL) {
StructError = PyErr_NewException("struct.error", NULL, NULL);
if (StructError == NULL)
return;
PyDict_SetItemString(d, "error", StructError);
}
Py_INCREF(StructError);
PyModule_AddObject(d, "error", StructError);
}

View File

@ -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);
if (TermiosError == NULL) {
TermiosError = PyErr_NewException("termios.error", NULL, NULL);
PyDict_SetItemString(d, "error", TermiosError);
}
Py_INCREF(TermiosError);
PyModule_AddObject(m, "error", TermiosError);
while (constant->name != NULL) {
PyModule_AddIntConstant(m, constant->name, constant->value);