File tree Expand file tree Collapse file tree 1 file changed +10
-9
lines changed Expand file tree Collapse file tree 1 file changed +10
-9
lines changed Original file line number Diff line number Diff line change @@ -142,37 +142,38 @@ static PyObject *
142
142
batched_next (batchedobject * bo )
143
143
{
144
144
Py_ssize_t i ;
145
+ Py_ssize_t n = bo -> batch_size ;
145
146
PyObject * it = bo -> it ;
146
147
PyObject * item ;
147
148
PyObject * result ;
148
149
149
150
if (it == NULL ) {
150
151
return NULL ;
151
152
}
152
- result = PyList_New (bo -> batch_size );
153
+ result = PyList_New (n );
153
154
if (result == NULL ) {
154
155
return NULL ;
155
156
}
156
- for (i = 0 ; i < bo -> batch_size ; i ++ ) {
157
+ for (i = 0 ; i < n ; i ++ ) {
157
158
item = PyIter_Next (it );
158
159
if (item == NULL ) {
159
160
break ;
160
161
}
161
162
PyList_SET_ITEM (result , i , item );
162
163
}
163
- if (i > 0 && i < bo -> batch_size ) {
164
+ if (i == 0 ) {
165
+ Py_CLEAR (bo -> it );
166
+ Py_DECREF (result );
167
+ return NULL ;
168
+ }
169
+ if (i < bo -> batch_size ) {
164
170
PyObject * short_list = PyList_GetSlice (result , 0 , i );
165
171
Py_SETREF (result , short_list );
166
172
if (result == NULL ) {
167
173
return NULL ;
168
174
}
169
175
}
170
- if (i > 0 ) {
171
- return result ;
172
- }
173
- Py_CLEAR (bo -> it );
174
- Py_DECREF (result );
175
- return NULL ;
176
+ return result ;
176
177
}
177
178
178
179
static PyTypeObject batched_type = {
You can’t perform that action at this time.
0 commit comments