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 <[email protected]>
Date: Mon, 3 Jun 2013 13:05:51 +0200
Subject: [PATCH] Use fseeko64/ftello64 for MinGW32
To: Albert Astals Cid <[email protected]>
Cc: [email protected]

Signed-off-by: Peter Breitenlohner <[email protected]>
---
 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 <[email protected]>
_______________________________________________
poppler mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to