mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Minor bit of factoring-out common code.
This commit is contained in:
parent
3dbc11cadd
commit
11ce8e6c37
1 changed files with 11 additions and 18 deletions
|
@ -1271,26 +1271,14 @@ set_intersection(PySetObject *so, PyObject *other)
|
||||||
|
|
||||||
while ((key = PyIter_Next(it)) != NULL) {
|
while ((key = PyIter_Next(it)) != NULL) {
|
||||||
hash = PyObject_Hash(key);
|
hash = PyObject_Hash(key);
|
||||||
if (hash == -1) {
|
if (hash == -1)
|
||||||
Py_DECREF(it);
|
goto error;
|
||||||
Py_DECREF(result);
|
|
||||||
Py_DECREF(key);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
rv = set_contains_entry(so, key, hash);
|
rv = set_contains_entry(so, key, hash);
|
||||||
if (rv < 0) {
|
if (rv < 0)
|
||||||
Py_DECREF(it);
|
goto error;
|
||||||
Py_DECREF(result);
|
|
||||||
Py_DECREF(key);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
if (rv) {
|
if (rv) {
|
||||||
if (set_add_entry(result, key, hash)) {
|
if (set_add_entry(result, key, hash))
|
||||||
Py_DECREF(it);
|
goto error;
|
||||||
Py_DECREF(result);
|
|
||||||
Py_DECREF(key);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Py_DECREF(key);
|
Py_DECREF(key);
|
||||||
}
|
}
|
||||||
|
@ -1300,6 +1288,11 @@ set_intersection(PySetObject *so, PyObject *other)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
return (PyObject *)result;
|
return (PyObject *)result;
|
||||||
|
error:
|
||||||
|
Py_DECREF(it);
|
||||||
|
Py_DECREF(result);
|
||||||
|
Py_DECREF(key);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue