summaryrefslogtreecommitdiff
path: root/Python/errors.c
diff options
context:
space:
mode:
authorBrian Curtin <brian@python.org>2012-04-18 08:30:51 -0500
committerBrian Curtin <brian@python.org>2012-04-18 08:30:51 -0500
commit013a85ff656fa0156dbfe26ec30698ebb9bfdf70 (patch)
treea3a8d19473c2628d6c71e0d8f581b30bf46e92e7 /Python/errors.c
parentd25c30c5c1f452d6a7debb98f5167da95f46c071 (diff)
downloadcpython-013a85ff656fa0156dbfe26ec30698ebb9bfdf70.tar.gz
Fix email post-commit review comments.
Add INCREFs, fix args->kwargs, and a second args==NULL check was removed, left over from a merger with another function. Instead, checking msg==NULL does what that used to do in a roundabout way.
Diffstat (limited to 'Python/errors.c')
-rw-r--r--Python/errors.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/Python/errors.c b/Python/errors.c
index a49cde6247..63eebe2e77 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -590,29 +590,32 @@ PyErr_SetImportError(PyObject *msg, PyObject *name, PyObject *path)
{
PyObject *args, *kwargs, *error;
+ if (msg == NULL)
+ return NULL;
+
args = PyTuple_New(1);
if (args == NULL)
return NULL;
kwargs = PyDict_New();
- if (args == NULL)
+ if (kwargs == NULL)
return NULL;
- if (name == NULL)
+ if (name == NULL) {
+ Py_INCREF(Py_None);
name = Py_None;
+ }
- if (path == NULL)
+ if (path == NULL) {
+ Py_INCREF(Py_None);
path = Py_None;
+ }
Py_INCREF(msg);
- PyTuple_SetItem(args, 0, msg);
+ PyTuple_SetItem(args, 0, NULL);//msg);
PyDict_SetItemString(kwargs, "name", name);
PyDict_SetItemString(kwargs, "path", path);
- /* args must at least be an empty tuple */
- if (args == NULL)
- args = PyTuple_New(0);
-
error = PyObject_Call(PyExc_ImportError, args, kwargs);
if (error!= NULL) {
PyErr_SetObject((PyObject *) Py_TYPE(error), error);