revlog: fix index_fast_rank (wip)
As far as I can tell, rank is stored as a 32-bit big endian value, I'm
not sure how grabbing the first byte can possibly work. I assume
there's no test coverage here?
cc @pacien
Fixes: https://www.mercurial-scm.org/repo/hg/rev/
e633e660158f
Differential Revision: https://phab.mercurial-scm.org/D12376
--- a/mercurial/cext/revlog.c Thu Mar 17 11:00:05 2022 +0100
+++ b/mercurial/cext/revlog.c Tue Mar 15 10:36:28 2022 +0100
@@ -588,7 +588,7 @@
return 0; /* convention */
}
- return *(index_deref(self, pos) + entry_cl2_offset_rank);
+ return getbe32(index_deref(self, pos) + entry_cl2_offset_rank);
}
/*