From 94c001b50377267626e136949ba410c8ad28a6f0 Mon Sep 17 00:00:00 2001 From: Brian Curtin Date: Wed, 18 Apr 2012 08:30:51 -0500 Subject: 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. --- Python/errors.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Python/errors.c b/Python/errors.c index a49cde6..63eebe2 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); -- cgit v0.12