aboutsummaryrefslogtreecommitdiff
path: root/lib/libz
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>1999-10-09 11:31:50 +0000
committerBruce Evans <bde@FreeBSD.org>1999-10-09 11:31:50 +0000
commit1d64c295bbdb773ca3d62cdb5a9eec06e12799c8 (patch)
tree84d09c6aaf702f70e17391e7ee33f2277abf1174 /lib/libz
parent8cd350e08c7ed48c02bb01f27aa9ee454dbe9274 (diff)
downloadsrc-1d64c295bbdb773ca3d62cdb5a9eec06e12799c8.tar.gz
src-1d64c295bbdb773ca3d62cdb5a9eec06e12799c8.zip
Hard-configure z_off_t as long. Soft configuration using HAVE_UNISTD_H
just breaks the prototypes for gzseek() and gztell() when an application defines HAVE_UNISTD_H before including <zlib.h>. z_off_t was always long for compiling zlib, but was sometimes off_t for compiling applications, e.g., Ethereal 0.7.5. This "fix" preserves bug for bug binary compatibility. z_off_t should be off_t for everything, but zlib doesn't support off_t being longer than long, so using the correct type without fixing zlib's internals would at best break binary compatibility. This "fix" also make the namespace problems for HAVE_UNISTD_H no worse than hundreds of other namespace prooblems in zconf.h. I'll wait for a new release of zlib for proper fixes. Reported by: Guy Harris via jkh
Notes
Notes: svn path=/head/; revision=52054
Diffstat (limited to 'lib/libz')
-rw-r--r--lib/libz/zconf.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/libz/zconf.h b/lib/libz/zconf.h
index 5b882be76d4d..a294f58d0560 100644
--- a/lib/libz/zconf.h
+++ b/lib/libz/zconf.h
@@ -238,16 +238,18 @@ typedef uLong FAR uLongf;
#ifdef HAVE_UNISTD_H
# include <sys/types.h> /* for off_t */
# include <unistd.h> /* for SEEK_* and off_t */
-# define z_off_t off_t
#endif
#ifndef SEEK_SET
# define SEEK_SET 0 /* Seek from beginning of file. */
# define SEEK_CUR 1 /* Seek from current position. */
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
#endif
-#ifndef z_off_t
-# define z_off_t long
-#endif
+
+/*
+ * This is hard-configured for FreeBSD, since zlib doesn't actually support
+ * using the system off_t for offsets unless off_t is no longer than long.
+ */
+#define z_off_t long
/* MVS linker does not support external names larger than 8 bytes */
#if defined(__MVS__)