summaryrefslogtreecommitdiff
path: root/Modules/mmapmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/mmapmodule.c')
-rw-r--r--Modules/mmapmodule.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index 4eb9274c66..5f1615ff82 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -93,7 +93,7 @@ typedef struct {
Py_ssize_t size;
Py_ssize_t pos; /* relative to offset */
#ifdef MS_WINDOWS
- PY_LONG_LONG offset;
+ long long offset;
#else
off_t offset;
#endif
@@ -397,8 +397,7 @@ mmap_write_method(mmap_object *self,
memcpy(&self->data[self->pos], data.buf, data.len);
self->pos += data.len;
PyBuffer_Release(&data);
- Py_INCREF(Py_None);
- return Py_None;
+ return PyLong_FromSsize_t(data.len);
}
static PyObject *
@@ -434,7 +433,7 @@ mmap_size_method(mmap_object *self,
#ifdef MS_WINDOWS
if (self->file_handle != INVALID_HANDLE_VALUE) {
DWORD low,high;
- PY_LONG_LONG size;
+ long long size;
low = GetFileSize(self->file_handle, &high);
if (low == INVALID_FILE_SIZE) {
/* It might be that the function appears to have failed,
@@ -445,7 +444,7 @@ mmap_size_method(mmap_object *self,
}
if (!high && low < LONG_MAX)
return PyLong_FromLong((long)low);
- size = (((PY_LONG_LONG)high)<<32) + low;
+ size = (((long long)high)<<32) + low;
return PyLong_FromLongLong(size);
} else {
return PyLong_FromSsize_t(self->size);
@@ -1227,7 +1226,7 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
/* A note on sizes and offsets: while the actual map size must hold in a
Py_ssize_t, both the total file size and the start offset can be longer
- than a Py_ssize_t, so we use PY_LONG_LONG which is always 64-bit.
+ than a Py_ssize_t, so we use long long which is always 64-bit.
*/
static PyObject *
@@ -1235,7 +1234,7 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
{
mmap_object *m_obj;
Py_ssize_t map_size;
- PY_LONG_LONG offset = 0, size;
+ long long offset = 0, size;
DWORD off_hi; /* upper 32 bits of offset */
DWORD off_lo; /* lower 32 bits of offset */
DWORD size_hi; /* upper 32 bits of size */
@@ -1296,10 +1295,6 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
*/
if (fileno != -1 && fileno != 0) {
/* Ensure that fileno is within the CRT's valid range */
- if (!_PyVerify_fd(fileno)) {
- PyErr_SetFromErrno(PyExc_OSError);
- return NULL;
- }
_Py_BEGIN_SUPPRESS_IPH
fh = (HANDLE)_get_osfhandle(fileno);
_Py_END_SUPPRESS_IPH
@@ -1349,7 +1344,7 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
return PyErr_SetFromWindowsErr(dwErr);
}
- size = (((PY_LONG_LONG) high) << 32) + low;
+ size = (((long long) high) << 32) + low;
if (size == 0) {
PyErr_SetString(PyExc_ValueError,
"cannot mmap an empty file");