diff --git a/mercurial/parsers.c b/mercurial/parsers.c
--- a/mercurial/parsers.c
+++ b/mercurial/parsers.c
@@ -158,8 +158,8 @@ static PyObject *parse_dirstate(PyObject
 {
 	PyObject *dmap, *cmap, *parents = NULL, *ret = NULL;
 	PyObject *fname = NULL, *cname = NULL, *entry = NULL;
-	char *str, *cur, *end, *cpos;
-	int state, mode, size, mtime;
+	char state, *str, *cur, *end, *cpos;
+	int mode, size, mtime;
 	unsigned int flen;
 	int len;