From 37020b2d6b7e323e4ff11582287b972617b563db Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 8 Jan 2012 15:39:11 +0000
Subject: [PATCH] zlib: fix duplicate function declarations for largefile
 support

SVN-Revision: 29690
---
 package/zlib/patches/110-largefile_fix.patch | 48 ++++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 package/zlib/patches/110-largefile_fix.patch

diff --git a/package/zlib/patches/110-largefile_fix.patch b/package/zlib/patches/110-largefile_fix.patch
new file mode 100644
index 0000000000..d4d1185cba
--- /dev/null
+++ b/package/zlib/patches/110-largefile_fix.patch
@@ -0,0 +1,48 @@
+--- a/zlib.h
++++ b/zlib.h
+@@ -1563,12 +1563,7 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF(
+  * without large file support, _LFS64_LARGEFILE must also be true
+  */
+ #if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
+-   ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+-   ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
+-   ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
+-   ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
+-   ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
+-   ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
++  #define __zlib_largefile64
+ #endif
+ 
+ #if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0
+@@ -1578,13 +1573,8 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF(
+ #  define gzoffset gzoffset64
+ #  define adler32_combine adler32_combine64
+ #  define crc32_combine crc32_combine64
+-#  ifdef _LARGEFILE64_SOURCE
+-     ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+-     ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
+-     ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
+-     ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
+-     ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
+-     ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
++#  ifndef __zlib_largefile64
++#    define __zlib_largefile64
+ #  endif
+ #else
+    ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
+@@ -1595,6 +1585,15 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF(
+    ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
+ #endif
+ 
++#ifdef __zlib_largefile64
++   ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
++   ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
++   ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
++   ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
++   ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
++   ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
++#endif
++
+ /* hack for buggy compilers */
+ #if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
+     struct internal_state {int dummy;};
-- 
GitLab