summaryrefslogtreecommitdiffstats
path: root/Objects/fileobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/fileobject.c')
-rw-r--r--Objects/fileobject.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index 5909e99..c8e3ae4 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -239,8 +239,14 @@ _portable_fseek(FILE *fp, Py_off_t offset, int whence)
fpos_t pos;
switch (whence) {
case SEEK_END:
+#ifdef MS_WINDOWS
+ fflush(fp);
+ if (_lseeki64(fileno(fp), 0, 2) == -1)
+ return -1;
+#else
if (fseek(fp, 0, SEEK_END) != 0)
return -1;
+#endif
/* fall through */
case SEEK_CUR:
if (fgetpos(fp, &pos) != 0)