mercurial/cext/revlog.c
changeset 51404 f8bf1a8e9181
parent 51395 3f37d80d3ab4
child 51425 d361d7bfb7dc
--- a/mercurial/cext/revlog.c	Tue Feb 20 21:40:08 2024 +0100
+++ b/mercurial/cext/revlog.c	Tue Feb 20 21:40:13 2024 +0100
@@ -1081,7 +1081,6 @@
 	PyObject *item;
 	PyObject *iterator;
 	int rev, minrev = -1;
-	char *node;
 
 	if (!PySet_Check(roots)) {
 		PyErr_SetString(PyExc_TypeError,
@@ -1092,9 +1091,10 @@
 	if (iterator == NULL)
 		return -2;
 	while ((item = PyIter_Next(iterator))) {
-		if (node_check(self->nodelen, item, &node) == -1)
+		rev = (int)PyLong_AsLong(item);
+		if (rev == -1 && PyErr_Occurred()) {
 			goto failed;
-		rev = index_find_node(self, node);
+		}
 		/* null is implicitly public, so negative is invalid */
 		if (rev < 0 || rev >= len)
 			goto failed;