Skip to content

Commit 9ef0e60

Browse files
Update src/JSArrayIterProxy.cc
Co-authored-by: Caleb Aikens <[email protected]>
1 parent 963b367 commit 9ef0e60

File tree

1 file changed

+5
-13
lines changed

1 file changed

+5
-13
lines changed

src/JSArrayIterProxy.cc

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,11 @@ PyObject *JSArrayIterProxyMethodDefinitions::JSArrayIterProxy_next(JSArrayIterPr
4545
return NULL;
4646
}
4747

48-
if (self->it.reversed) {
49-
if (self->it.it_index >= 0) {
50-
JS::RootedValue *elementVal = new JS::RootedValue(GLOBAL_CX);
51-
JS_GetElement(GLOBAL_CX, ((JSArrayProxy *)seq)->jsArray, self->it.it_index--, elementVal);
52-
return pyTypeFactory(GLOBAL_CX, new JS::RootedObject(GLOBAL_CX, JS::GetNonCCWObjectGlobal(((JSArrayProxy *)seq)->jsArray)), elementVal)->getPyObject();
53-
}
54-
}
55-
else {
56-
if (self->it.it_index < JSArrayProxyMethodDefinitions::JSArrayProxy_length((JSArrayProxy *)seq)) {
57-
JS::RootedValue *elementVal = new JS::RootedValue(GLOBAL_CX);
58-
JS_GetElement(GLOBAL_CX, ((JSArrayProxy *)seq)->jsArray, self->it.it_index++, elementVal);
59-
return pyTypeFactory(GLOBAL_CX, new JS::RootedObject(GLOBAL_CX, JS::GetNonCCWObjectGlobal(((JSArrayProxy *)seq)->jsArray)), elementVal)->getPyObject();
60-
}
48+
if ((self->it.reversed && self->it.it_index >= 0) || (!self->it.reversed && self->it.it_index < JSArrayProxyMethodDefinitions::JSArrayProxy_length((JSArrayProxy *)seq))) {
49+
JS::RootedValue *elementVal = new JS::RootedValue(GLOBAL_CX);
50+
self->it.it_index += self->it.reversed ? -1 : 1;
51+
JS_GetElement(GLOBAL_CX, ((JSArrayProxy *)seq)->jsArray, self->it.it_index, elementVal);
52+
return pyTypeFactory(GLOBAL_CX, new JS::RootedObject(GLOBAL_CX, JS::GetNonCCWObjectGlobal(((JSArrayProxy *)seq)->jsArray)), elementVal)->getPyObject();
6153
}
6254

6355
self->it.it_seq = NULL;

0 commit comments

Comments
 (0)