Fix compilation warning on Windows, where size_t is 32bit but file offsets are 64bit.

This commit is contained in:
Amaury Forgeot d'Arc 2009-10-05 20:18:05 +00:00
parent abe3d3ec85
commit 3de4647022
1 changed files with 7 additions and 6 deletions

View File

@ -1705,7 +1705,8 @@ bufferedwriter_write(buffered *self, PyObject *args)
{
PyObject *res = NULL;
Py_buffer buf;
Py_ssize_t written, avail, remaining, n;
Py_ssize_t written, avail, remaining;
Py_off_t offset;
CHECK_INITIALIZED(self)
if (!PyArg_ParseTuple(args, "s*:write", &buf)) {
@ -1780,18 +1781,18 @@ bufferedwriter_write(buffered *self, PyObject *args)
the raw stream by itself).
Fixes issue #6629.
*/
n = RAW_OFFSET(self);
if (n != 0) {
if (_buffered_raw_seek(self, -n, 1) < 0)
offset = RAW_OFFSET(self);
if (offset != 0) {
if (_buffered_raw_seek(self, -offset, 1) < 0)
goto error;
self->raw_pos -= n;
self->raw_pos -= offset;
}
/* Then write buf itself. At this point the buffer has been emptied. */
remaining = buf.len;
written = 0;
while (remaining > self->buffer_size) {
n = _bufferedwriter_raw_write(
Py_ssize_t n = _bufferedwriter_raw_write(
self, (char *) buf.buf + written, buf.len - written);
if (n == -1) {
Py_ssize_t *w = _buffered_check_blocking_error();