Fix new compiler warnings.  Also boost "start" from (C) int to long and
return a (C) long:  PyArg_ParseTuple and Py_BuildValue may not let us get
at the size_t we really want, but C int is clearly too small for a 64-bit
box, and both the start parameter and the return value should work for
large mapped files even on 32-bit boxes.  The code really needs to be
rethought from scratch (not by me, though ...).
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index acf85a4..63ef72a 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -224,12 +224,12 @@
 mmap_find_method(mmap_object *self,
 		 PyObject *args)
 {
-	int start = self->pos;
+	long start = self->pos;
 	char *needle;
 	int len;
 
 	CHECK_VALID(NULL);
-	if (!PyArg_ParseTuple (args, "s#|i:find", &needle, &len, &start)) {
+	if (!PyArg_ParseTuple (args, "s#|l:find", &needle, &len, &start)) {
 		return NULL;
 	} else {
 		char *p;
@@ -239,7 +239,7 @@
                     start += self->size;
                 if (start < 0)
                     start = 0;
-                else if (start > self->size)
+                else if ((size_t)start > self->size)
                     start = self->size;
                 p = self->data + start;
 
@@ -251,8 +251,8 @@
 			}
 			if (!*n) {
 				return Py_BuildValue (
-					"i",
-					(int) (p - self->data));
+					"l",
+					(long) (p - self->data));
 			}
 			p++;
 		}