From aa9a79d27958ae5afb6c8769a2b342d98677c091 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Sat, 6 Oct 2012 14:03:24 +0200 Subject: Issue #16148: implemented PEP 424 --- Objects/iterobject.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'Objects/iterobject.c') diff --git a/Objects/iterobject.c b/Objects/iterobject.c index 3cfbeaf2e3..cf4af5b81f 100644 --- a/Objects/iterobject.c +++ b/Objects/iterobject.c @@ -76,9 +76,14 @@ iter_len(seqiterobject *it) Py_ssize_t seqsize, len; if (it->it_seq) { - seqsize = PySequence_Size(it->it_seq); - if (seqsize == -1) - return NULL; + if (_PyObject_HasLen(it->it_seq)) { + seqsize = PySequence_Size(it->it_seq); + if (seqsize == -1) + return NULL; + } + else { + return Py_NotImplemented; + } len = seqsize - it->it_index; if (len >= 0) return PyLong_FromSsize_t(len); -- cgit v1.2.1