Change some sequnce APIs to use Py_ssize_t.
diff --git a/Objects/abstract.c b/Objects/abstract.c
index dc46193..7ded61a 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -1577,10 +1577,10 @@
    	set ValueError and return -1 if none found; also return -1 on error.
    Py_ITERSEARCH_CONTAINS:  return 1 if obj in seq, else 0; -1 on error.
 */
-int
+Py_ssize_t
 _PySequence_IterSearch(PyObject *seq, PyObject *obj, int operation)
 {
-	int n;
+	Py_ssize_t n;
 	int wrapped;  /* for PY_ITERSEARCH_INDEX, true iff n wrapped around */
 	PyObject *it;  /* iter(seq) */
 
@@ -1614,6 +1614,7 @@
 			case PY_ITERSEARCH_COUNT:
 				++n;
 				if (n <= 0) {
+					/* XXX(nnorwitz): int means ssize_t */
 					PyErr_SetString(PyExc_OverflowError,
 				                "count exceeds C int size");
 					goto Fail;
@@ -1622,6 +1623,7 @@
 
 			case PY_ITERSEARCH_INDEX:
 				if (wrapped) {
+					/* XXX(nnorwitz): int means ssize_t */
 					PyErr_SetString(PyExc_OverflowError,
 			                	"index exceeds C int size");
 					goto Fail;
@@ -1660,7 +1662,7 @@
 }
 
 /* Return # of times o appears in s. */
-int
+Py_ssize_t
 PySequence_Count(PyObject *s, PyObject *o)
 {
 	return _PySequence_IterSearch(s, o, PY_ITERSEARCH_COUNT);
@@ -1672,12 +1674,14 @@
 int
 PySequence_Contains(PyObject *seq, PyObject *ob)
 {
+	Py_ssize_t result;
 	if (PyType_HasFeature(seq->ob_type, Py_TPFLAGS_HAVE_SEQUENCE_IN)) {
 		PySequenceMethods *sqm = seq->ob_type->tp_as_sequence;
 	        if (sqm != NULL && sqm->sq_contains != NULL)
 			return (*sqm->sq_contains)(seq, ob);
 	}
-	return _PySequence_IterSearch(seq, ob, PY_ITERSEARCH_CONTAINS);
+	result = _PySequence_IterSearch(seq, ob, PY_ITERSEARCH_CONTAINS);
+	return Py_SAFE_DOWNCAST(result, Py_ssize_t, int);
 }
 
 /* Backwards compatibility */
@@ -1688,7 +1692,7 @@
 	return PySequence_Contains(w, v);
 }
 
-int
+Py_ssize_t
 PySequence_Index(PyObject *s, PyObject *o)
 {
 	return _PySequence_IterSearch(s, o, PY_ITERSEARCH_INDEX);