* Eliminate duplicate call to PyObject_Size().
(Spotted by Michael Hudson.)
* Now that "selflen" is no longer inside a loop, it should not be a
register variable.
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 78def29..9ee5756 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -650,12 +650,13 @@
static int
listextend_internal(PyListObject *self, PyObject *b)
{
- register int selflen = PyList_GET_SIZE(self);
+ int selflen = PyList_GET_SIZE(self);
int blen;
register int i;
PyObject **src, **dest;
- if (PyObject_Size(b) == 0) {
+ blen = PyObject_Size(b);
+ if (blen == 0) {
/* short circuit when b is empty */
Py_DECREF(b);
return 0;
@@ -679,7 +680,6 @@
}
}
- blen = PyObject_Size(b);
if (list_resize(self, selflen + blen) == -1) {
Py_DECREF(b);
return -1;