summaryrefslogtreecommitdiff
path: root/zconf.h
diff options
context:
space:
mode:
Diffstat (limited to 'zconf.h')
-rw-r--r--zconf.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/zconf.h b/zconf.h
index 57f25ad..0154955 100644
--- a/zconf.h
+++ b/zconf.h
@@ -399,24 +399,32 @@ typedef uLong FAR uLongf;
# endif
#endif
-/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
+/* accommodate both "#define _LARGEFILE64_SOURCE" and
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
- * though the former does not conform to the LFS document), but considering
+ * though the former does not conform to the LFS document), but consider
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
* equivalently requesting no 64-bit operations
*/
-#if -_LARGEFILE64_SOURCE - -1 == 1
+#if defined(LARGEFILE64_SOURCE) && _LARGEFILE64_SOURCE == 0
# undef _LARGEFILE64_SOURCE
#endif
-#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
-# define Z_LARGE
+#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE == 1
+# define Z_LFS64
+#endif
+
+#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
+# define Z_LARGE64
+#endif
+
+#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 && defined(Z_LFS64)
+# define Z_WANT64
#endif
#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
# define Z_HAVE_UNISTD_H
#endif
-#if (defined(Z_HAVE_UNISTD_H) || defined(Z_LARGE)) && !defined(Z_SOLO)
+#if (defined(Z_HAVE_UNISTD_H) || defined(Z_LARGE64)) && !defined(Z_SOLO)
# include <unistd.h> /* for SEEK_* and off_t */
# ifdef VMS
# include <unixio.h> /* for off_t */