Fix more ssize_t issues.
diff --git a/Python/ast.c b/Python/ast.c
index 0b3b485..353514c 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -3034,7 +3034,7 @@
 			if (*s & 0x80) { /* XXX inefficient */
 				PyObject *w;
 				char *r;
-				int rn, i;
+				Py_ssize_t rn, i;
 				w = decode_utf8(&s, end, "utf-16-be");
 				if (w == NULL) {
 					Py_DECREF(u);
diff --git a/Python/ceval.c b/Python/ceval.c
index c0d87a5..bfc6108 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1560,7 +1560,7 @@
 			    /* XXX move into writeobject() ? */
 			    if (PyString_Check(v)) {
 				char *s = PyString_AS_STRING(v);
-				int len = PyString_GET_SIZE(v);
+				Py_ssize_t len = PyString_GET_SIZE(v);
 				if (len == 0 ||
 				    !isspace(Py_CHARMASK(s[len-1])) ||
 				    s[len-1] == ' ')
@@ -1569,7 +1569,7 @@
 #ifdef Py_USING_UNICODE
 			    else if (PyUnicode_Check(v)) {
 				Py_UNICODE *s = PyUnicode_AS_UNICODE(v);
-				int len = PyUnicode_GET_SIZE(v);
+				Py_ssize_t len = PyUnicode_GET_SIZE(v);
 				if (len == 0 ||
 				    !Py_UNICODE_ISSPACE(s[len-1]) ||
 				    s[len-1] == ' ')
diff --git a/Python/codecs.c b/Python/codecs.c
index 2124824..77eac8e 100644
--- a/Python/codecs.c
+++ b/Python/codecs.c
@@ -95,7 +95,7 @@
 {
     PyInterpreterState *interp;
     PyObject *result, *args = NULL, *v;
-    int i, len;
+    Py_ssize_t i, len;
 
     if (encoding == NULL) {
 	PyErr_BadArgument();