summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2001-05-14 23:19:12 (GMT)
committerTim Peters <tim.peters@gmail.com>2001-05-14 23:19:12 (GMT)
commitd401eddf91870aa1d830ec6b5eb06affc15374a3 (patch)
tree9a330a6d36c97467a200a36f9c4973be1cd04119
parent58e0a8c13015627b5cd4abff6563bef02532596c (diff)
downloadcpython-d401eddf91870aa1d830ec6b5eb06affc15374a3.zip
cpython-d401eddf91870aa1d830ec6b5eb06affc15374a3.tar.gz
cpython-d401eddf91870aa1d830ec6b5eb06affc15374a3.tar.bz2
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 ...).
-rw-r--r--Modules/mmapmodule.c10
1 files changed, 5 insertions, 5 deletions
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 @@ static PyObject *
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 @@ mmap_find_method(mmap_object *self,
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 @@ mmap_find_method(mmap_object *self,
}
if (!*n) {
return Py_BuildValue (
- "i",
- (int) (p - self->data));
+ "l",
+ (long) (p - self->data));
}
p++;
}