merge 3.5

This commit is contained in:
Benjamin Peterson 2015-06-04 14:34:43 -05:00
commit 9c474172cb

View file

@ -2427,12 +2427,16 @@ mutablemapping_update(PyObject *self, PyObject *args, PyObject *kwargs)
else if (PyObject_HasAttrString(other, "keys")) { /* never fails */ else if (PyObject_HasAttrString(other, "keys")) { /* never fails */
PyObject *keys, *iterator, *key; PyObject *keys, *iterator, *key;
keys = PyObject_CallMethod(other, "keys", NULL); keys = PyObject_CallMethod(other, "keys", NULL);
if (keys == NULL) if (keys == NULL) {
Py_DECREF(other);
return NULL; return NULL;
}
iterator = PyObject_GetIter(keys); iterator = PyObject_GetIter(keys);
Py_DECREF(keys); Py_DECREF(keys);
if (iterator == NULL) if (iterator == NULL) {
Py_DECREF(other);
return NULL; return NULL;
}
while (res == 0 && (key = PyIter_Next(iterator))) { while (res == 0 && (key = PyIter_Next(iterator))) {
PyObject *value = PyObject_GetItem(other, key); PyObject *value = PyObject_GetItem(other, key);
if (value != NULL) { if (value != NULL) {