diff options
author | Tim Peters <tim.peters@gmail.com> | 2001-05-14 23:19:12 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2001-05-14 23:19:12 (GMT) |
commit | d401eddf91870aa1d830ec6b5eb06affc15374a3 (patch) | |
tree | 9a330a6d36c97467a200a36f9c4973be1cd04119 /Modules | |
parent | 58e0a8c13015627b5cd4abff6563bef02532596c (diff) | |
download | cpython-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 ...).
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/mmapmodule.c | 10 |
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++; } |