PyModule_AddObject(): Added missing exceptions.

Closes SF bug #523473.
This commit is contained in:
Fred Drake 2002-06-17 17:16:57 +00:00
parent b084017c7a
commit 8311518a58

View File

@ -488,15 +488,22 @@ int
PyModule_AddObject(PyObject *m, char *name, PyObject *o)
{
PyObject *dict;
if (!PyModule_Check(m) || o == NULL)
return -1;
dict = PyModule_GetDict(m);
if (dict == NULL)
if (!PyModule_Check(m) || o == NULL) {
PyErr_SetString(PyExc_TypeError,
"PyModule_AddObject() needs module as first arg");
return -1;
if (PyDict_SetItemString(dict, name, o))
return -1;
Py_DECREF(o);
return 0;
}
dict = PyModule_GetDict(m);
if (dict == NULL) {
/* Internal error -- modules must have a dict! */
PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__",
PyModule_GetName(m));
return -1;
}
if (PyDict_SetItemString(dict, name, o))
return -1;
Py_DECREF(o);
return 0;
}
int