]> granicus.if.org Git - python/commitdiff
Fix email post-commit review comments.
authorBrian Curtin <brian@python.org>
Wed, 18 Apr 2012 13:30:51 +0000 (08:30 -0500)
committerBrian Curtin <brian@python.org>
Wed, 18 Apr 2012 13:30:51 +0000 (08:30 -0500)
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

index a49cde624795270bcc400a872997b6eb70ac5cb4..63eebe2e779cba8128c3077f2dc40f346069c1a2 100644 (file)
@@ -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);