[poppler] [PATCH] Use fseeko64/ftello64 for MinGW32
Peter Breitenlohner
peb at mppmu.mpg.de
Mon Jun 3 04:26:51 PDT 2013
Hi,
In MinGW32 (3.20) the prototypes for _fseeki64/_ftelli64 are available when
__MSVCRT_VERSION__ >= 0x800 but this then requires to link with
libmsvcr80.a, i.e., msvcr80.dll or better.
Since MinGW32 provides fseeko64/ftello64 why not use those as per this
patch:
>From 9c79bf3c47be1120c50744f4ba03b058e3b73b3c Mon Sep 17 00:00:00 2001
From: Peter Breitenlohner <peb at mppmu.mpg.de>
Date: Mon, 3 Jun 2013 13:05:51 +0200
Subject: [PATCH] Use fseeko64/ftello64 for MinGW32
To: Albert Astals Cid <aacid at kemper.freedesktop.org>
Cc: poppler at lists.freedesktop.org
Signed-off-by: Peter Breitenlohner <peb at mppmu.mpg.de>
---
goo/gfile.cc | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/goo/gfile.cc b/goo/gfile.cc
index 9d0699a..aaf62ee 100644
--- a/goo/gfile.cc
+++ b/goo/gfile.cc
@@ -555,6 +555,8 @@ int Gfseek(FILE *f, Goffset offset, int whence) {
return fseeko(f, offset, whence);
#elif HAVE_FSEEK64
return fseek64(f, offset, whence);
+#elif defined(__MINGW32__)
+ return fseeko64(f, offset, whence);
#elif _WIN32
return _fseeki64(f, offset, whence);
#else
@@ -567,6 +569,8 @@ Goffset Gftell(FILE *f) {
return ftello(f);
#elif HAVE_FSEEK64
return ftell64(f);
+#elif defined(__MINGW32__)
+ return ftello64(f);
#elif _WIN32
return _ftelli64(f);
#else
@@ -577,7 +581,7 @@ Goffset Gftell(FILE *f) {
Goffset GoffsetMax() {
#if HAVE_FSEEKO
return (std::numeric_limits<off_t>::max)();
-#elif HAVE_FSEEK64
+#elif HAVE_FSEEK64 || defined(__MINGW32__)
return (std::numeric_limits<off64_t>::max)();
#elif _WIN32
return (std::numeric_limits<__int64>::max)();
--
1.8.2.2
Regards
Peter Breitenlohner <peb at mppmu.mpg.de>
More information about the poppler
mailing list