| diff --git a/contrib/minizip/ioapi.h b/contrib/minizip/ioapi.h |
| index 8dcbdb06e35a..c1b7a54847f5 100644 |
| --- a/contrib/minizip/ioapi.h |
| +++ b/contrib/minizip/ioapi.h |
| @@ -43,7 +43,7 @@ |
| |
| #include <stdio.h> |
| #include <stdlib.h> |
| -#include "zlib.h" |
| +#include "third_party/zlib/zlib.h" |
| |
| #if defined(USE_FILE32API) |
| #define fopen64 fopen |
| diff --git a/contrib/minizip/iowin32.c b/contrib/minizip/iowin32.c |
| index 274f39eb1dd2..246ceb91a139 100644 |
| --- a/contrib/minizip/iowin32.c |
| +++ b/contrib/minizip/iowin32.c |
| @@ -26,12 +26,19 @@ |
| #endif |
| |
| |
| +#ifdef _WIN32_WINNT |
| +#undef _WIN32_WINNT |
| +#define _WIN32_WINNT 0x601 |
| +#endif |
| + |
| +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 |
| // see Include/shared/winapifamily.h in the Windows Kit |
| #if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API))) |
| #if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY, WINAPI_PARTITION_APP) |
| #define IOWIN32_USING_WINRT_API 1 |
| #endif |
| #endif |
| +#endif |
| |
| voidpf ZCALLBACK win32_open_file_func OF((voidpf opaque, const char* filename, int mode)); |
| uLong ZCALLBACK win32_read_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size)); |
| diff --git a/contrib/minizip/mztools.c b/contrib/minizip/mztools.c |
| index 96891c2e0b71..8bf9cca32633 100644 |
| --- a/contrib/minizip/mztools.c |
| +++ b/contrib/minizip/mztools.c |
| @@ -8,7 +8,7 @@ |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <string.h> |
| -#include "zlib.h" |
| +#include "third_party/zlib/zlib.h" |
| #include "unzip.h" |
| |
| #define READ_8(adr) ((unsigned char)*(adr)) |
| diff --git a/contrib/minizip/mztools.h b/contrib/minizip/mztools.h |
| index a49a426ec2fc..f295ffeda6af 100644 |
| --- a/contrib/minizip/mztools.h |
| +++ b/contrib/minizip/mztools.h |
| @@ -12,7 +12,7 @@ extern "C" { |
| #endif |
| |
| #ifndef _ZLIB_H |
| -#include "zlib.h" |
| +#include "third_party/zlib/zlib.h" |
| #endif |
| |
| #include "unzip.h" |
| diff --git a/contrib/minizip/unzip.c b/contrib/minizip/unzip.c |
| index bcfb9416ec35..199b4723fcfc 100644 |
| --- a/contrib/minizip/unzip.c |
| +++ b/contrib/minizip/unzip.c |
| @@ -72,7 +72,7 @@ |
| #define NOUNCRYPT |
| #endif |
| |
| -#include "zlib.h" |
| +#include "third_party/zlib/zlib.h" |
| #include "unzip.h" |
| |
| #ifdef STDC |
| @@ -1705,11 +1705,6 @@ extern int ZEXPORT unzReadCurrentFile (unzFile file, voidp buf, unsigned len) |
| |
| pfile_in_zip_read_info->stream.avail_out = (uInt)len; |
| |
| - if ((len>pfile_in_zip_read_info->rest_read_uncompressed) && |
| - (!(pfile_in_zip_read_info->raw))) |
| - pfile_in_zip_read_info->stream.avail_out = |
| - (uInt)pfile_in_zip_read_info->rest_read_uncompressed; |
| - |
| if ((len>pfile_in_zip_read_info->rest_read_compressed+ |
| pfile_in_zip_read_info->stream.avail_in) && |
| (pfile_in_zip_read_info->raw)) |
| diff --git a/contrib/minizip/unzip.h b/contrib/minizip/unzip.h |
| index 2104e3915074..3c0143529b91 100644 |
| --- a/contrib/minizip/unzip.h |
| +++ b/contrib/minizip/unzip.h |
| @@ -48,7 +48,7 @@ extern "C" { |
| #endif |
| |
| #ifndef _ZLIB_H |
| -#include "zlib.h" |
| +#include "third_party/zlib/zlib.h" |
| #endif |
| |
| #ifndef _ZLIBIOAPI_H |
| diff --git a/contrib/minizip/zip.c b/contrib/minizip/zip.c |
| index 44e88a9cb989..65c0c7251843 100644 |
| --- a/contrib/minizip/zip.c |
| +++ b/contrib/minizip/zip.c |
| @@ -26,7 +26,7 @@ |
| #include <stdlib.h> |
| #include <string.h> |
| #include <time.h> |
| -#include "zlib.h" |
| +#include "third_party/zlib/zlib.h" |
| #include "zip.h" |
| |
| #ifdef STDC |
| diff --git a/contrib/minizip/zip.h b/contrib/minizip/zip.h |
| index 8aaebb623430..8c06c0aa7bb0 100644 |
| --- a/contrib/minizip/zip.h |
| +++ b/contrib/minizip/zip.h |
| @@ -47,7 +47,7 @@ extern "C" { |
| //#define HAVE_BZIP2 |
| |
| #ifndef _ZLIB_H |
| -#include "zlib.h" |
| +#include "third_party/zlib/zlib.h" |
| #endif |
| |
| #ifndef _ZLIBIOAPI_H |
| diff --git a/gzread.c b/gzread.c |
| index 956b91ea7d9e..832d3ef98c59 100644 |
| --- a/gzread.c |
| +++ b/gzread.c |
| @@ -443,7 +443,11 @@ z_size_t ZEXPORT gzfread(buf, size, nitems, file) |
| # undef z_gzgetc |
| #else |
| # undef gzgetc |
| +# ifdef Z_CR_PREFIX_SET |
| +# define gzgetc Cr_z_gzgetc |
| +# endif |
| #endif |
| + |
| int ZEXPORT gzgetc(file) |
| gzFile file; |
| { |
| diff --git a/zconf.h b/zconf.h |
| index 5e1d68a004e9..a7a815f575a7 100644 |
| --- a/zconf.h |
| +++ b/zconf.h |
| @@ -8,6 +8,10 @@ |
| #ifndef ZCONF_H |
| #define ZCONF_H |
| |
| +/* |
| + * This library is also built as a part of AOSP, which does not need to include |
| + * chromeconf.h. This config does not want chromeconf.h, so it can set this |
| + * macro to opt out. While this works today, there's no guarantee that building |
| + * zlib outside of Chromium keeps working in the future. |
| + */ |
| +#if !defined(CHROMIUM_ZLIB_NO_CHROMECONF) |
| +/* This include does prefixing as below, but with an updated set of names. Also |
| + * sets up export macros in component builds. */ |
| +#include "chromeconf.h" |
| +#endif |
| + |
| /* |
| * If you *really* need a unique prefix for all types and library functions, |
| * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. |
| @@ -431,7 +434,7 @@ typedef uLong FAR uLongf; |
| typedef unsigned long z_crc_t; |
| #endif |
| |
| -#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ |
| +#if !defined(_WIN32) |
| # define Z_HAVE_UNISTD_H |
| #endif |
| |
| diff --git a/zlib.h b/zlib.h |
| index f09cdaf1e054..99fd467f6b1a 100644 |
| --- a/zlib.h |
| +++ b/zlib.h |
| @@ -1824,6 +1824,11 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */ |
| # undef z_gzgetc |
| # define z_gzgetc(g) \ |
| ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g)) |
| +#elif defined(Z_CR_PREFIX_SET) |
| +# undef gzgetc |
| +# define gzgetc(g) \ |
| + ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) \ |
| + : (Cr_z_gzgetc)(g)) |
| #else |
| # define gzgetc(g) \ |
| ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g)) |
| @@ -1853,11 +1858,29 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */ |
| # define z_adler32_combine z_adler32_combine64 |
| # define z_crc32_combine z_crc32_combine64 |
| # else |
| +# ifdef gzopen |
| +# undef gzopen |
| +# endif |
| # define gzopen gzopen64 |
| +# ifdef gzseek |
| +# undef gzseek |
| +# endif |
| # define gzseek gzseek64 |
| +# ifdef gztell |
| +# undef gztell |
| +# endif |
| # define gztell gztell64 |
| +# ifdef gzoffset |
| +# undef gzoffset |
| +# endif |
| # define gzoffset gzoffset64 |
| +# ifdef adler32_combine |
| +# undef adler32_combine |
| +# endif |
| # define adler32_combine adler32_combine64 |
| +# ifdef crc32_combine |
| +# undef crc32_combine |
| +# endif |
| # define crc32_combine crc32_combine64 |
| # endif |
| # ifndef Z_LARGE64 |
| diff --git a/zutil.h b/zutil.h |
| index b079ea6a80f5..80375b8b6109 100644 |
| --- a/zutil.h |
| +++ b/zutil.h |
| @@ -28,6 +28,21 @@ |
| # include <string.h> |
| # include <stdlib.h> |
| #endif |
| +#ifdef NO_ERRNO_H |
| +# ifdef _WIN32_WCE |
| + /* The Microsoft C Run-Time Library for Windows CE doesn't have |
| + * errno. We define it as a global variable to simplify porting. |
| + * Its value is always 0 and should not be used. We rename it to |
| + * avoid conflict with other libraries that use the same workaround. |
| + */ |
| +# define errno z_errno |
| +# endif |
| + extern int errno; |
| +#else |
| +# ifndef _WIN32_WCE |
| +# include <errno.h> |
| +# endif |
| +#endif |
| |
| #ifdef Z_SOLO |
| typedef long ptrdiff_t; /* guess -- will be caught if guess is wrong */ |