bdiff: fix yet more fallout from xdiff long/int64 conversion (issue5885) stable
authorJulien Cristau <jcristau@debian.org>
Sat, 12 May 2018 22:29:28 +0200
branchstable
changeset 37980 273ea09f6550
parent 37854 edb28a6d95b7
child 38000 7c05198cd1ca
bdiff: fix yet more fallout from xdiff long/int64 conversion (issue5885) "l" in Py_BuildValue's format string means long, so passing int64_t instead results in fireworks on 32bit architectures. Differential Revision: https://phab.mercurial-scm.org/D3538
mercurial/cext/bdiff.c
--- a/mercurial/cext/bdiff.c	Fri May 11 20:10:22 2018 +0900
+++ b/mercurial/cext/bdiff.c	Sat May 12 22:29:28 2018 +0200
@@ -261,7 +261,7 @@
                          void *priv)
 {
 	PyObject *rl = (PyObject *)priv;
-	PyObject *m = Py_BuildValue("llll", a1, a2, b1, b2);
+	PyObject *m = Py_BuildValue("LLLL", a1, a2, b1, b2);
 	if (!m)
 		return -1;
 	if (PyList_Append(rl, m) != 0) {