--- a/mercurial/parsers.c Mon Apr 09 13:48:45 2012 -0700
+++ b/mercurial/parsers.c Tue Apr 10 16:53:29 2012 -0500
@@ -244,9 +244,9 @@
static long inline_scan(indexObject *self, const char **offsets);
#if LONG_MAX == 0x7fffffffL
-static const char *tuple_format = "Kiiiiiis#";
+static char *tuple_format = "Kiiiiiis#";
#else
-static const char *tuple_format = "kiiiiiis#";
+static char *tuple_format = "kiiiiiis#";
#endif
/* RevlogNG format (all in big endian, data may be inlined):
--- a/mercurial/util.h Mon Apr 09 13:48:45 2012 -0700
+++ b/mercurial/util.h Tue Apr 10 16:53:29 2012 -0500
@@ -107,6 +107,9 @@
Note: msvc (8 or earlier) does not have ssize_t, so we use Py_ssize_t.
*/
typedef int Py_ssize_t;
+typedef Py_ssize_t (*lenfunc)(PyObject *);
+typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t);
+
#if !defined(PY_SSIZE_T_MIN)
#define PY_SSIZE_T_MAX INT_MAX
#define PY_SSIZE_T_MIN INT_MIN