Fix more ssize_t issues.
diff --git a/Modules/_codecsmodule.c b/Modules/_codecsmodule.c
index 39b443b..26bc2cb 100644
--- a/Modules/_codecsmodule.c
+++ b/Modules/_codecsmodule.c
@@ -169,7 +169,7 @@
 
 static
 PyObject *codec_tuple(PyObject *unicode,
-		      int len)
+		      Py_ssize_t len)
 {
     PyObject *v,*w;
 
@@ -181,7 +181,7 @@
 	return NULL;
     }
     PyTuple_SET_ITEM(v,0,unicode);
-    w = PyInt_FromLong(len);
+    w = PyInt_FromSsize_t(len);
     if (w == NULL) {
 	Py_DECREF(v);
 	return NULL;
@@ -213,7 +213,7 @@
 	PyObject *str;
 	const char *errors = NULL;
 	char *buf;
-	int len;
+	Py_ssize_t len;
 
 	if (!PyArg_ParseTuple(args, "O!|z:escape_encode",
 			      &PyString_Type, &str, &errors))
diff --git a/Modules/_hotshot.c b/Modules/_hotshot.c
index 2ee4eb9..3ad0a9e 100644
--- a/Modules/_hotshot.c
+++ b/Modules/_hotshot.c
@@ -1420,7 +1420,7 @@
     char *buffer;
     char cwdbuffer[PATH_MAX];
     PyObject *temp;
-    int i, len;
+    Py_ssize_t i, len;
 
     buffer = get_version_string();
     if (buffer == NULL) {
diff --git a/Objects/classobject.c b/Objects/classobject.c
index a723bd6..a1907f5 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -320,7 +320,7 @@
 	}
 	sname = PyString_AsString(name);
 	if (sname[0] == '_' && sname[1] == '_') {
-		int n = PyString_Size(name);
+		Py_ssize_t n = PyString_Size(name);
 		if (sname[n-1] == '_' && sname[n-2] == '_') {
 			char *err = NULL;
 			if (strcmp(sname, "__dict__") == 0)
@@ -380,7 +380,7 @@
 	PyObject *mod = PyDict_GetItemString(op->cl_dict, "__module__");
 	PyObject *name = op->cl_name;
 	PyObject *res;
-	int m, n;
+	Py_ssize_t m, n;
 
 	if (name == NULL || !PyString_Check(name))
 		return class_repr(op);
@@ -638,7 +638,7 @@
 		PyObject_GC_Del(inst);
 	}
 	else {
-		int refcnt = inst->ob_refcnt;
+		Py_ssize_t refcnt = inst->ob_refcnt;
 		/* __del__ resurrected it!  Make it look like the original
 		 * Py_DECREF never happened.
 		 */
@@ -778,7 +778,7 @@
 	PyObject *func, *args, *res, *tmp;
 	char *sname = PyString_AsString(name);
 	if (sname[0] == '_' && sname[1] == '_') {
-		int n = PyString_Size(name);
+		Py_ssize_t n = PyString_Size(name);
 		if (sname[n-1] == '_' && sname[n-2] == '_') {
 			if (strcmp(sname, "__dict__") == 0) {
 				if (PyEval_GetRestricted()) {
@@ -1263,7 +1263,7 @@
 		 */
 		PyErr_Clear();
 		return _PySequence_IterSearch((PyObject *)inst, member,
-					      PY_ITERSEARCH_CONTAINS);
+					      PY_ITERSEARCH_CONTAINS) > 0;
 	}
 	else
 		return -1;
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();