[glib/nacho/off_t: 1/2] giowin32: use gint64 and _lseeki64
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/nacho/off_t: 1/2] giowin32: use gint64 and _lseeki64
- Date: Thu, 20 Jan 2022 11:22:36 +0000 (UTC)
commit 08017c0d6cb4f6dcaa0a5f9e12240cbe9762879b
Author: Ignacio Casal Quinteiro <qignacio amazon com>
Date: Thu Jan 20 11:07:20 2022 +0100
giowin32: use gint64 and _lseeki64
off_t on windows is 32bit which means that it will not be able
to handle big offsets
glib/giowin32.c | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
---
diff --git a/glib/giowin32.c b/glib/giowin32.c
index 6afd48e61..72cd9220c 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)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]