Comments
Patch
@@ -209,6 +209,22 @@ static inline bool index_get_start(index
return 1;
}
+static inline bool index_get_length(indexObject *self, Py_ssize_t rev,
+ long *result)
+{
+ if (rev >= self->length) {
+ PyObject *tuple =
+ PyList_GET_ITEM(self->added, rev - self->length);
+ if (!pylong_to_long(PyTuple_GET_ITEM(tuple, 1), result)) {
+ return 0;
+ };
+ } else {
+ const char *data = index_deref(self, rev);
+ *result = getbe32(data + 8);
+ }
+ return 1;
+}
+
/*
* RevlogNG format (all in big endian, data may be inlined):
* 6 bytes: offset