revlog: fix index_fast_rank (wip)
authorJulien Cristau <jcristau@debian.org>
Tue, 15 Mar 2022 10:36:28 +0100
changeset 48970 890db1c97218
parent 48969 f64bbba2ee59
child 48971 4057563ebc6b
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
mercurial/cext/revlog.c
--- 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);
 }
 
 /*