Only call sq_length in Sequence_GetItem for negative index.

This commit is contained in:
Guido van Rossum 1996-11-09 22:32:05 +00:00
parent 115c1144ea
commit 08ef9d98b2
1 changed files with 6 additions and 4 deletions

View File

@ -666,12 +666,14 @@ PySequence_GetItem(s, i)
if(! s) return Py_ReturnNullError();
if(! ((m=s->ob_type->tp_as_sequence) && m->sq_length && m->sq_item))
if(! ((m=s->ob_type->tp_as_sequence) && m->sq_item))
return Py_ReturnMethodError("__getitem__");
if(0 > (l=m->sq_length(s))) return NULL;
if(i < 0) i += l;
if(i < 0)
{
if(0 > (l=m->sq_length(s))) return NULL;
i += l;
}
return m->sq_item(s,i);
}