forked from minhngoc25a/freetype2
420 lines
13 KiB
Diff
420 lines
13 KiB
Diff
From 2977ff0df909f939517e9857943938ff84201a26 Mon Sep 17 00:00:00 2001
|
|
From: David Turner <david@freetype.org>
|
|
Date: Wed, 18 Aug 2021 00:17:35 +0200
|
|
Subject: [zlib] Fix zlib sources to compile for FreeType
|
|
|
|
Fix misc zlib sources to ensure that they do not issue compiler
|
|
warnings when they are compiled as part of src/gzip/ftgzip.c.
|
|
|
|
* src/gzip/adler32.c: Do not define unused functions when Z_FREETYPE
|
|
is set.
|
|
|
|
* src/gzip/crc32.c: Undefined DO1 and DO8 macros that are already
|
|
defined in adler32.c.
|
|
|
|
* src/gzip/gzguts.h: Rename COPY macro to COPY__ since COPY and
|
|
COPY_ conflict with enum values with the same name in
|
|
zlib.h.
|
|
|
|
* src/gzip/inflate.c, src/gzip/adler32.c: Omit unused function
|
|
declarations when Z_FREETYPE is defined.
|
|
|
|
* src/gzip/zlib.h: Include "ftzconf.h" instead of "zconf.h" to
|
|
avoid conflicts with system-installed headers. Omit unused
|
|
function declarations when Z_FREETYPE is defined.
|
|
|
|
* src/gzip/zutil.h: Use ft_memxxx() functions instead of memxxx().
|
|
Omit unused function declarations when Z_FREETYPE is defined.
|
|
|
|
* src/gzip/inflate.h, src/gzip/inftrees.h: Add header guard macros
|
|
to prevent compiler errors.
|
|
---
|
|
src/gzip/adler32.c | 6 ++++++
|
|
src/gzip/crc32.c | 2 ++
|
|
src/gzip/gzguts.h | 2 +-
|
|
src/gzip/inflate.c | 18 ++++++++++++++++++
|
|
src/gzip/inflate.h | 5 +++++
|
|
src/gzip/inftrees.h | 5 +++++
|
|
src/gzip/zlib.h | 39 ++++++++++++++++++++++++++++++++++++---
|
|
src/gzip/zutil.h | 10 +++++++---
|
|
8 files changed, 80 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/src/gzip/adler32.c b/src/gzip/adler32.c
|
|
index d0be4380a..a8242ba13 100644
|
|
--- a/src/gzip/adler32.c
|
|
+++ b/src/gzip/adler32.c
|
|
@@ -7,7 +7,9 @@
|
|
|
|
#include "zutil.h"
|
|
|
|
+#ifndef Z_FREETYPE
|
|
local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
|
|
+#endif
|
|
|
|
#define BASE 65521U /* largest prime smaller than 65536 */
|
|
#define NMAX 5552
|
|
@@ -139,6 +141,8 @@ uLong ZEXPORT adler32(adler, buf, len)
|
|
return adler32_z(adler, buf, len);
|
|
}
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
/* ========================================================================= */
|
|
local uLong adler32_combine_(adler1, adler2, len2)
|
|
uLong adler1;
|
|
@@ -184,3 +188,5 @@ uLong ZEXPORT adler32_combine64(adler1, adler2, len2)
|
|
{
|
|
return adler32_combine_(adler1, adler2, len2);
|
|
}
|
|
+
|
|
+#endif /* !Z_FREETYPE */
|
|
diff --git a/src/gzip/crc32.c b/src/gzip/crc32.c
|
|
index 9580440c0..d67663a4e 100644
|
|
--- a/src/gzip/crc32.c
|
|
+++ b/src/gzip/crc32.c
|
|
@@ -195,6 +195,8 @@ const z_crc_t FAR * ZEXPORT get_crc_table()
|
|
}
|
|
|
|
/* ========================================================================= */
|
|
+#undef DO1
|
|
+#undef DO8
|
|
#define DO1 crc = crc_table[0][((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8)
|
|
#define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1
|
|
|
|
diff --git a/src/gzip/gzguts.h b/src/gzip/gzguts.h
|
|
index 990a4d251..a27f38998 100644
|
|
--- a/src/gzip/gzguts.h
|
|
+++ b/src/gzip/gzguts.h
|
|
@@ -163,7 +163,7 @@
|
|
|
|
/* values for gz_state how */
|
|
#define LOOK 0 /* look for a gzip header */
|
|
-#define COPY 1 /* copy input directly */
|
|
+#define COPY__ 1 /* copy input directly */
|
|
#define GZIP 2 /* decompress a gzip stream */
|
|
|
|
/* internal gzip file state data structure */
|
|
diff --git a/src/gzip/inflate.c b/src/gzip/inflate.c
|
|
index ac333e8c2..fa61003ce 100644
|
|
--- a/src/gzip/inflate.c
|
|
+++ b/src/gzip/inflate.c
|
|
@@ -99,8 +99,10 @@ local int updatewindow OF((z_streamp strm, const unsigned char FAR *end,
|
|
#ifdef BUILDFIXED
|
|
void makefixed OF((void));
|
|
#endif
|
|
+#ifndef Z_FREETYPE
|
|
local unsigned syncsearch OF((unsigned FAR *have, const unsigned char FAR *buf,
|
|
unsigned len));
|
|
+#endif
|
|
|
|
local int inflateStateCheck(strm)
|
|
z_streamp strm;
|
|
@@ -244,6 +246,8 @@ int stream_size;
|
|
return inflateInit2_(strm, DEF_WBITS, version, stream_size);
|
|
}
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
int ZEXPORT inflatePrime(strm, bits, value)
|
|
z_streamp strm;
|
|
int bits;
|
|
@@ -265,6 +269,8 @@ int value;
|
|
return Z_OK;
|
|
}
|
|
|
|
+#endif /* Z_FREETYPE */
|
|
+
|
|
/*
|
|
Return state with length and distance decoding tables and index sizes set to
|
|
fixed code decoding. Normally this returns fixed tables from inffixed.h.
|
|
@@ -1288,6 +1294,8 @@ z_streamp strm;
|
|
return Z_OK;
|
|
}
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
int ZEXPORT inflateGetDictionary(strm, dictionary, dictLength)
|
|
z_streamp strm;
|
|
Bytef *dictionary;
|
|
@@ -1440,6 +1448,8 @@ z_streamp strm;
|
|
return Z_OK;
|
|
}
|
|
|
|
+#endif /* !Z_FREETYPE */
|
|
+
|
|
/*
|
|
Returns true if inflate is currently at the end of a block generated by
|
|
Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
|
|
@@ -1458,6 +1468,8 @@ z_streamp strm;
|
|
return state->mode == STORED && state->bits == 0;
|
|
}
|
|
|
|
+#if !Z_FREETYPE
|
|
+
|
|
int ZEXPORT inflateCopy(dest, source)
|
|
z_streamp dest;
|
|
z_streamp source;
|
|
@@ -1505,6 +1517,8 @@ z_streamp source;
|
|
return Z_OK;
|
|
}
|
|
|
|
+#endif /* !Z_FREETYPE */
|
|
+
|
|
int ZEXPORT inflateUndermine(strm, subvert)
|
|
z_streamp strm;
|
|
int subvert;
|
|
@@ -1538,6 +1552,8 @@ int check;
|
|
return Z_OK;
|
|
}
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
long ZEXPORT inflateMark(strm)
|
|
z_streamp strm;
|
|
{
|
|
@@ -1559,3 +1575,5 @@ z_streamp strm;
|
|
state = (struct inflate_state FAR *)strm->state;
|
|
return (unsigned long)(state->next - state->codes);
|
|
}
|
|
+
|
|
+#endif /* !Z_FREETYPE */
|
|
diff --git a/src/gzip/inflate.h b/src/gzip/inflate.h
|
|
index a46cce6b6..92ea758e2 100644
|
|
--- a/src/gzip/inflate.h
|
|
+++ b/src/gzip/inflate.h
|
|
@@ -3,6 +3,9 @@
|
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
|
*/
|
|
|
|
+#ifndef INFLATE_H
|
|
+#define INFLATE_H
|
|
+
|
|
/* WARNING: this file should *not* be used by applications. It is
|
|
part of the implementation of the compression library and is
|
|
subject to change. Applications should only use zlib.h.
|
|
@@ -123,3 +126,5 @@ struct inflate_state {
|
|
int back; /* bits back of last unprocessed length/lit */
|
|
unsigned was; /* initial length of match */
|
|
};
|
|
+
|
|
+#endif /* INFLATE_H */
|
|
diff --git a/src/gzip/inftrees.h b/src/gzip/inftrees.h
|
|
index baa53a0b1..c94eb78b5 100644
|
|
--- a/src/gzip/inftrees.h
|
|
+++ b/src/gzip/inftrees.h
|
|
@@ -3,6 +3,9 @@
|
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
|
*/
|
|
|
|
+#ifndef INFTREES_H
|
|
+#define INFTREES_H
|
|
+
|
|
/* WARNING: this file should *not* be used by applications. It is
|
|
part of the implementation of the compression library and is
|
|
subject to change. Applications should only use zlib.h.
|
|
@@ -60,3 +63,5 @@ typedef enum {
|
|
int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens,
|
|
unsigned codes, code FAR * FAR *table,
|
|
unsigned FAR *bits, unsigned short FAR *work));
|
|
+
|
|
+#endif /* INFTREES_H_ */
|
|
diff --git a/src/gzip/zlib.h b/src/gzip/zlib.h
|
|
index f09cdaf1e..ff5ae736d 100644
|
|
--- a/src/gzip/zlib.h
|
|
+++ b/src/gzip/zlib.h
|
|
@@ -31,7 +31,7 @@
|
|
#ifndef ZLIB_H
|
|
#define ZLIB_H
|
|
|
|
-#include "zconf.h"
|
|
+#include "ftzconf.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
@@ -211,6 +211,8 @@ typedef gz_header FAR *gz_headerp;
|
|
|
|
#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
#define zlib_version zlibVersion()
|
|
/* for compatibility with versions < 1.0.2 */
|
|
|
|
@@ -246,7 +248,6 @@ ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
|
|
this will be done by deflate().
|
|
*/
|
|
|
|
-
|
|
ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
|
|
/*
|
|
deflate compresses as much data as possible, and stops when the input
|
|
@@ -373,6 +374,7 @@ ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
|
|
deallocated).
|
|
*/
|
|
|
|
+#endif /* !Z_FREETYPE */
|
|
|
|
/*
|
|
ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
|
|
@@ -534,6 +536,8 @@ ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
|
|
The following functions are needed only in some special applications.
|
|
*/
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
/*
|
|
ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
|
|
int level,
|
|
@@ -954,6 +958,8 @@ ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
|
|
destination.
|
|
*/
|
|
|
|
+#endif /* !Z_FREETYPE */
|
|
+
|
|
ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
|
|
/*
|
|
This function is equivalent to inflateEnd followed by inflateInit,
|
|
@@ -978,6 +984,8 @@ ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm,
|
|
the windowBits parameter is invalid.
|
|
*/
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
|
|
int bits,
|
|
int value));
|
|
@@ -1067,6 +1075,8 @@ ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
|
|
stream state was inconsistent.
|
|
*/
|
|
|
|
+#endif /* !Z_FREETYPE */
|
|
+
|
|
/*
|
|
ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
|
|
unsigned char FAR *window));
|
|
@@ -1093,6 +1103,8 @@ typedef unsigned (*in_func) OF((void FAR *,
|
|
z_const unsigned char FAR * FAR *));
|
|
typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
|
|
in_func in, void FAR *in_desc,
|
|
out_func out, void FAR *out_desc));
|
|
@@ -1212,6 +1224,8 @@ ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
|
|
27-31: 0 (reserved)
|
|
*/
|
|
|
|
+#endif /* !Z_FREETYPE */
|
|
+
|
|
#ifndef Z_SOLO
|
|
|
|
/* utility functions */
|
|
@@ -1739,6 +1753,8 @@ ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
|
|
if (crc != original_crc) error();
|
|
*/
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
ZEXTERN uLong ZEXPORT crc32_z OF((uLong adler, const Bytef *buf,
|
|
z_size_t len));
|
|
/*
|
|
@@ -1755,7 +1771,6 @@ ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
|
|
len2.
|
|
*/
|
|
|
|
-
|
|
/* various hacks, don't look :) */
|
|
|
|
/* deflateInit and inflateInit are macros to allow checking the zlib version
|
|
@@ -1763,6 +1778,7 @@ ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
|
|
*/
|
|
ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
|
|
const char *version, int stream_size));
|
|
+
|
|
ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
|
|
const char *version, int stream_size));
|
|
ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
|
|
@@ -1805,6 +1821,19 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
|
|
ZLIB_VERSION, (int)sizeof(z_stream))
|
|
#endif
|
|
|
|
+#else /* Z_FREETYPE */
|
|
+
|
|
+
|
|
+ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
|
|
+ const char *version, int stream_size));
|
|
+
|
|
+# define inflateInit2(strm, windowBits) \
|
|
+ inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
|
|
+ (int)sizeof(z_stream))
|
|
+
|
|
+#endif /* Z_FREETYPE */
|
|
+
|
|
+
|
|
#ifndef Z_SOLO
|
|
|
|
/* gzgetc() macro and its supporting function and exposed data structure. Note
|
|
@@ -1879,12 +1908,15 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
|
|
|
|
#else /* Z_SOLO */
|
|
|
|
+#ifndef Z_FREETYPE
|
|
ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
|
|
ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
|
|
+#endif
|
|
|
|
#endif /* !Z_SOLO */
|
|
|
|
/* undocumented functions */
|
|
+#ifndef Z_FREETYPE
|
|
ZEXTERN const char * ZEXPORT zError OF((int));
|
|
ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
|
|
ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void));
|
|
@@ -1904,6 +1936,7 @@ ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file,
|
|
va_list va));
|
|
# endif
|
|
#endif
|
|
+#endif /* !Z_FREETYPE */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
diff --git a/src/gzip/zutil.h b/src/gzip/zutil.h
|
|
index b079ea6a8..a38573878 100644
|
|
--- a/src/gzip/zutil.h
|
|
+++ b/src/gzip/zutil.h
|
|
@@ -185,6 +185,8 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
|
|
#pragma warn -8066
|
|
#endif
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
/* provide prototypes for these when building zlib without LFS */
|
|
#if !defined(_WIN32) && \
|
|
(!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
|
|
@@ -192,6 +194,8 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
|
|
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
|
|
#endif
|
|
|
|
+#endif /* !Z_FREETYPE */
|
|
+
|
|
/* common defaults */
|
|
|
|
#ifndef OS_CODE
|
|
@@ -223,9 +227,9 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
|
|
# define zmemcmp _fmemcmp
|
|
# define zmemzero(dest, len) _fmemset(dest, 0, len)
|
|
# else
|
|
-# define zmemcpy memcpy
|
|
-# define zmemcmp memcmp
|
|
-# define zmemzero(dest, len) memset(dest, 0, len)
|
|
+# define zmemcpy ft_memcpy
|
|
+# define zmemcmp ft_memcmp
|
|
+# define zmemzero(dest, len) ft_memset(dest, 0, len)
|
|
# endif
|
|
#else
|
|
void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
|
|
--
|
|
2.30.2
|
|
|