repair my irrational excuberance

This commit is contained in:
Benjamin Peterson 2015-06-07 00:00:42 -05:00
parent 99e96f2bb0
commit 0718de9770
1 changed files with 62 additions and 59 deletions

View File

@ -2411,7 +2411,7 @@ mutablemapping_update(PyObject *self, PyObject *args, PyObject *kwargs)
return NULL;
}
if (len == 1) {
PyObject *other = PyTuple_GET_ITEM(args, 0); /* borrowed reference */
if (other == NULL)
return NULL;
@ -2461,11 +2461,13 @@ mutablemapping_update(PyObject *self, PyObject *args, PyObject *kwargs)
if (res != 0)
return NULL;
}
}
/* now handle kwargs */
len = (kwargs != NULL) ? PyObject_Size(kwargs) : 0;
if (len < 0) /* PyObject_Size raised an exception. */
return NULL;
if (len > 0) {
PyObject *items;
if (!PyMapping_Check(kwargs)) {
PyErr_SetString(PyExc_TypeError, "expected mapping for kwargs");
@ -2478,6 +2480,7 @@ mutablemapping_update(PyObject *self, PyObject *args, PyObject *kwargs)
Py_DECREF(items);
if (res == -1)
return NULL;
}
Py_RETURN_NONE;
}