diff --git a/gio/glocalfileinfo.h b/gio/glocalfileinfo.h index e04e921f2c433263a6d94fb9fe53cbc5da99c2f0..5ca0d9be34c3fc59ba9e5093761d82d9d971545f 100644 --- a/gio/glocalfileinfo.h +++ b/gio/glocalfileinfo.h @@ -297,7 +297,7 @@ inline static guint32 _g_stat_nlink (const GLocalFileStat *buf) { return b #endif inline static dev_t _g_stat_dev (const GLocalFileStat *buf) { return buf->st_dev; } inline static ino_t _g_stat_ino (const GLocalFileStat *buf) { return buf->st_ino; } -inline static off_t _g_stat_size (const GLocalFileStat *buf) { return buf->st_size; } +inline static goffset _g_stat_size (const GLocalFileStat *buf) { return buf->st_size; } #ifndef G_OS_WIN32 inline static uid_t _g_stat_uid (const GLocalFileStat *buf) { return buf->st_uid; } diff --git a/glib/giowin32.c b/glib/giowin32.c index 6afd48e618690d3ad230a071c4a968ec1b6d790c..72cd9220cadf47885e82bd50c7d2c63743d27b3b 100644 --- a/glib/giowin32.c +++ b/glib/giowin32.c @@ -1291,8 +1291,7 @@ g_io_win32_fd_seek (GIOChannel *channel, { GIOWin32Channel *win32_channel = (GIOWin32Channel *)channel; int whence, errsv; - off_t tmp_offset; - off_t result; + gint64 result; switch (type) { @@ -1311,16 +1310,7 @@ g_io_win32_fd_seek (GIOChannel *channel, g_abort (); } - tmp_offset = offset; - if (tmp_offset != offset) - { - g_set_error_literal (err, G_IO_CHANNEL_ERROR, - g_io_channel_error_from_errno (EINVAL), - g_strerror (EINVAL)); - return G_IO_STATUS_ERROR; - } - - result = lseek (win32_channel->fd, tmp_offset, whence); + result = _lseeki64 (win32_channel->fd, offset, whence); errsv = errno; if (result < 0)