Skip to content

Commit c12ae16

Browse files
clean up self assign slice operation
1 parent f47ba05 commit c12ae16

File tree

1 file changed

+2
-11
lines changed

1 file changed

+2
-11
lines changed

src/JSArrayProxy.cc

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -175,21 +175,14 @@ static int list_ass_slice(JSArrayProxy *self, Py_ssize_t ilow, Py_ssize_t ihigh,
175175
size_t s;
176176
int result = -1; /* guilty until proved innocent */
177177
#define b ((PyListObject *)v)
178+
Py_ssize_t selfLength = JSArrayProxyMethodDefinitions::JSArrayProxy_length(self);
178179
if (v == NULL) {
179180
n = 0;
180181
}
181182
else {
182-
Py_ssize_t vLength;
183-
if (PyObject_TypeCheck(v, &JSArrayProxyType)) {
184-
vLength = JSArrayProxyMethodDefinitions::JSArrayProxy_length((JSArrayProxy *)v);
185-
}
186-
else {
187-
vLength = Py_SIZE(b);
188-
}
189-
190183
if ((PyListObject *)self == b) {
191184
/* Special case "a[i:j] = a" -- copy b first */
192-
v = list_slice(self, 0, vLength);
185+
v = list_slice(self, 0, selfLength);
193186
if (v == NULL) {
194187
return result;
195188
}
@@ -206,8 +199,6 @@ static int list_ass_slice(JSArrayProxy *self, Py_ssize_t ilow, Py_ssize_t ihigh,
206199
vitem = PySequence_Fast_ITEMS(v_as_SF);
207200
}
208201

209-
Py_ssize_t selfLength = JSArrayProxyMethodDefinitions::JSArrayProxy_length(self);
210-
211202
if (ilow < 0) {
212203
ilow = 0;
213204
}

0 commit comments

Comments
 (0)