Show More
@@ -2314,7 +2314,7 b' struct rustlazyancestorsObjectStruct {' | |||
|
2314 | 2314 | /* FFI exposed from Rust code */ |
|
2315 | 2315 | rustlazyancestorsObject *rustlazyancestors_init( |
|
2316 | 2316 | indexObject *index, |
|
2317 | /* to pass index_get_parents() */ | |
|
2317 | /* to pass index_get_parents_checked() */ | |
|
2318 | 2318 | int (*)(indexObject *, Py_ssize_t, int*, int), |
|
2319 | 2319 | /* intrevs vector */ |
|
2320 | 2320 | Py_ssize_t initrevslen, long *initrevs, |
@@ -2324,6 +2324,16 b' void rustlazyancestors_drop(rustlazyance' | |||
|
2324 | 2324 | int rustlazyancestors_next(rustlazyancestorsObject *self); |
|
2325 | 2325 | int rustlazyancestors_contains(rustlazyancestorsObject *self, long rev); |
|
2326 | 2326 | |
|
2327 | static int index_get_parents_checked(indexObject *self, Py_ssize_t rev, | |
|
2328 | int *ps, int maxrev) | |
|
2329 | { | |
|
2330 | if (rev < 0 || rev >= index_length(self)) { | |
|
2331 | PyErr_SetString(PyExc_ValueError, "rev out of range"); | |
|
2332 | return -1; | |
|
2333 | } | |
|
2334 | return index_get_parents(self, rev, ps, maxrev); | |
|
2335 | } | |
|
2336 | ||
|
2327 | 2337 | /* CPython instance methods */ |
|
2328 | 2338 | static int rustla_init(rustlazyancestorsObject *self, |
|
2329 | 2339 | PyObject *args) { |
@@ -2364,12 +2374,13 b' static int rustla_init(rustlazyancestors' | |||
|
2364 | 2374 | goto bail; |
|
2365 | 2375 | |
|
2366 | 2376 | self->iter = rustlazyancestors_init(index, |
|
2367 | index_get_parents, | |
|
2377 | index_get_parents_checked, | |
|
2368 | 2378 | linit, initrevs, |
|
2369 | 2379 | stoprev, inclusive); |
|
2370 | 2380 | if (self->iter == NULL) { |
|
2371 | 2381 | /* if this is because of GraphError::ParentOutOfRange |
|
2372 |
* index_get_parents() has already set the proper |
|
|
2382 | * index_get_parents_checked() has already set the proper | |
|
2383 | * ValueError */ | |
|
2373 | 2384 | goto bail; |
|
2374 | 2385 | } |
|
2375 | 2386 |
General Comments 0
You need to be logged in to leave comments.
Login now