Update MinGW so it handles fseeko() similar to Unix.
authorBruce Momjian <bruce@momjian.us>
Wed, 7 Jan 2009 03:39:33 +0000 (03:39 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 7 Jan 2009 03:39:33 +0000 (03:39 +0000)
configure
configure.in
src/bin/pg_dump/pg_dump.h
src/include/port.h
src/include/port/win32.h

index e461bacf073a468795181b9e519020bf046b0e49..72e4f5435395b5680528fdf7da2a12b625aceaf9 100755 (executable)
--- a/configure
+++ b/configure
@@ -18999,7 +18999,8 @@ done
 
 case $host_os in
        # BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos
-       bsdi*|netbsd*)
+       # Mingw uses macros to access Win32 API calls
+       bsdi*|netbsd*|mingw*)
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_FSEEKO 1
index 13a071461b9408f7ddf3cbd32c7e5cec490dac84..e437112d086fc57ebfc943329b5ec2df60b5e969 100644 (file)
@@ -1319,7 +1319,8 @@ AC_CHECK_FUNCS(atexit, [],
 AC_REPLACE_FUNCS(fseeko)
 case $host_os in
        # BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos
-       bsdi*|netbsd*)
+       # Mingw uses macros to access Win32 API calls
+       bsdi*|netbsd*|mingw*)
                AC_DEFINE(HAVE_FSEEKO, 1, [Define to 1 because replacement version used.])
                ac_cv_func_fseeko=yes;;
        *)
index 4cab10aae74332095d697ac80cf3ad90bfe9956d..53467bc626556d773fe3e62f0b7f6aaf274e3b3c 100644 (file)
 
 #include "postgres_fe.h"
 
-/*
- * WIN32 does not provide 64-bit off_t, but does provide the functions operating
- * with 64-bit offsets.
- */
-#ifdef WIN32
-#define pgoff_t __int64
-#undef fseeko
-#undef ftello
-#ifdef WIN32_ONLY_COMPILER
-#define fseeko(stream, offset, origin) _fseeki64(stream, offset, origin)
-#define ftello(stream) _ftelli64(stream)
-#else
-#define fseeko(stream, offset, origin) fseeko64(stream, offset, origin)
-#define ftello(stream) ftello64(stream)
-#endif
-#else
-#define pgoff_t off_t
-#endif
-
 /*
  * pg_dump uses two different mechanisms for identifying database objects:
  *
index 56a45195feadf8794427141faae855f36f6b753e..0557dd244dfb06dd92d1f39a358d6614c1c2f23d 100644 (file)
@@ -341,10 +341,14 @@ extern int        gettimeofday(struct timeval * tp, struct timezone * tzp);
 extern char *crypt(const char *key, const char *setting);
 #endif
 
+/* WIN32 handled in port/win32.h */
+#ifndef WIN32
+#define pgoff_t off_t
 #if defined(bsdi) || defined(netbsd)
 extern int     fseeko(FILE *stream, off_t offset, int whence);
 extern off_t ftello(FILE *stream);
 #endif
+#endif
 
 #ifndef HAVE_FSEEKO
 #define fseeko(a, b, c) fseek(a, b, c)
index fc65515fb51f690a7d3e1c724cfab072a62b86ef..256b71fbdc05c74758ab169e16596410ab44d80b 100644 (file)
@@ -190,6 +190,18 @@ struct itimerval
 
 int                    setitimer(int which, const struct itimerval * value, struct itimerval * ovalue);
 
+/*
+ * WIN32 does not provide 64-bit off_t, but does provide the functions operating
+ * with 64-bit offsets.
+ */
+#define pgoff_t __int64
+#ifdef WIN32_ONLY_COMPILER
+#define fseeko(stream, offset, origin) _fseeki64(stream, offset, origin)
+#define ftello(stream) _ftelli64(stream)
+#else
+#define fseeko(stream, offset, origin) fseeko64(stream, offset, origin)
+#define ftello(stream) ftello64(stream)
+#endif
 
 /*
  * Supplement to <sys/types.h>.