470 lines
14 KiB
Diff
470 lines
14 KiB
Diff
[zlib] Fix zlib sources for compilation with FreeType
|
|
|
|
We must ensure that they do not issue compiler errors or warnings when they
|
|
are compiled as part of `src/gzip/ftgzip.c`.
|
|
|
|
* src/gzip/gzguts.h (COPY): Rename to...
|
|
(COPY__): ... this since `COPY` and `COPY_` conflict with enum values,
|
|
which have the same name in `zlib.h`.
|
|
|
|
* src/gzip/inflate.c, src/gzip/adler32.c, src/gzip/crc32.c,
|
|
src/gzip/zutil.c: Omit unused function declarations and definitions when
|
|
`Z_FREETYPE` is defined.
|
|
|
|
* src/gzip/inffast.h (inflate_fast): Declare as static.
|
|
|
|
* src/gzip/inftrees.c (inflate_copyright): Declare as static.
|
|
|
|
* 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.
|
|
(inflateInit2)[Z_FREETYPE]: Provide proper declaration.
|
|
|
|
* 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/inftrees.h: Add header guard macros to prevent compiler errors.
|
|
(inflate_table): Declare as static.
|
|
|
|
diff --git b/src/gzip/adler32.c a/src/gzip/adler32.c
|
|
index be5e8a247..aa032e1dd 100644
|
|
--- b/src/gzip/adler32.c
|
|
+++ a/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(
|
|
return adler32_z(adler, buf, len);
|
|
}
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
/* ========================================================================= */
|
|
local uLong adler32_combine_(
|
|
uLong adler1,
|
|
@@ -184,3 +188,5 @@ uLong ZEXPORT adler32_combine64(
|
|
{
|
|
return adler32_combine_(adler1, adler2, len2);
|
|
}
|
|
+
|
|
+#endif /* !Z_FREETYPE */
|
|
diff --git b/src/gzip/crc32.c a/src/gzip/crc32.c
|
|
index 3a52aa89d..6cd1b09d5 100644
|
|
--- b/src/gzip/crc32.c
|
|
+++ a/src/gzip/crc32.c
|
|
@@ -103,9 +103,11 @@
|
|
# define ARMCRC32
|
|
#endif
|
|
|
|
+#ifndef Z_FREETYPE
|
|
/* Local functions. */
|
|
local z_crc_t multmodp OF((z_crc_t a, z_crc_t b));
|
|
local z_crc_t x2nmodp OF((z_off64_t n, unsigned k));
|
|
+#endif /* Z_FREETYPE */
|
|
|
|
#if defined(W) && (!defined(ARMCRC32) || defined(DYNAMIC_CRC_TABLE))
|
|
local z_word_t byte_swap OF((z_word_t word));
|
|
@@ -544,6 +546,8 @@ local void braid(ltl, big, n, w)
|
|
* generation above.
|
|
*/
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
/*
|
|
Return a(x) multiplied by b(x) modulo p(x), where p(x) is the CRC polynomial,
|
|
reflected. For speed, this requires that a not be zero.
|
|
@@ -600,6 +604,8 @@ const z_crc_t FAR * ZEXPORT get_crc_table()
|
|
return (const z_crc_t FAR *)crc_table;
|
|
}
|
|
|
|
+#endif /* Z_FREETYPE */
|
|
+
|
|
/* =========================================================================
|
|
* Use ARM machine instructions if available. This will compute the CRC about
|
|
* ten times faster than the braided calculation. This code does not check for
|
|
@@ -1077,6 +1083,8 @@ unsigned long ZEXPORT crc32(
|
|
return crc32_z(crc, buf, len);
|
|
}
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
/* ========================================================================= */
|
|
uLong ZEXPORT crc32_combine64(
|
|
uLong crc1,
|
|
@@ -1123,3 +1131,5 @@ uLong ZEXPORT crc32_combine_op(
|
|
{
|
|
return multmodp(op, crc1) ^ (crc2 & 0xffffffff);
|
|
}
|
|
+
|
|
+#endif /* Z_FREETYPE */
|
|
diff --git b/src/gzip/gzguts.h a/src/gzip/gzguts.h
|
|
index 57faf3716..4f09a52a7 100644
|
|
--- b/src/gzip/gzguts.h
|
|
+++ a/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 b/src/gzip/inffast.h a/src/gzip/inffast.h
|
|
index e5c1aa4ca..684ae878c 100644
|
|
--- b/src/gzip/inffast.h
|
|
+++ a/src/gzip/inffast.h
|
|
@@ -8,4 +8,4 @@
|
|
subject to change. Applications should only use zlib.h.
|
|
*/
|
|
|
|
-void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start));
|
|
+static void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start));
|
|
diff --git b/src/gzip/inflate.c a/src/gzip/inflate.c
|
|
index c9e566b03..5117e2e26 100644
|
|
--- b/src/gzip/inflate.c
|
|
+++ a/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(
|
|
z_streamp strm)
|
|
@@ -239,6 +241,8 @@ int ZEXPORT inflateInit2_(
|
|
return ret;
|
|
}
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
int ZEXPORT inflateInit_(
|
|
z_streamp strm,
|
|
const char *version,
|
|
@@ -268,6 +272,8 @@ int ZEXPORT inflatePrime(
|
|
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.
|
|
@@ -1315,6 +1321,8 @@ int ZEXPORT inflateEnd(
|
|
return Z_OK;
|
|
}
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
int ZEXPORT inflateGetDictionary(
|
|
z_streamp strm,
|
|
Bytef *dictionary,
|
|
@@ -1593,3 +1601,5 @@ unsigned long ZEXPORT inflateCodesUsed(
|
|
state = (struct inflate_state FAR *)strm->state;
|
|
return (unsigned long)(state->next - state->codes);
|
|
}
|
|
+
|
|
+#endif /* !Z_FREETYPE */
|
|
diff --git b/src/gzip/inflate.h a/src/gzip/inflate.h
|
|
index f127b6b1f..c6f5a52e1 100644
|
|
--- b/src/gzip/inflate.h
|
|
+++ a/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.
|
|
@@ -124,3 +127,5 @@ struct inflate_state {
|
|
int back; /* bits back of last unprocessed length/lit */
|
|
unsigned was; /* initial length of match */
|
|
};
|
|
+
|
|
+#endif /* INFLATE_H */
|
|
diff --git b/src/gzip/inftrees.c a/src/gzip/inftrees.c
|
|
index d8405a24c..dd4965e9a 100644
|
|
--- b/src/gzip/inftrees.c
|
|
+++ a/src/gzip/inftrees.c
|
|
@@ -8,7 +8,7 @@
|
|
|
|
#define MAXBITS 15
|
|
|
|
-const char inflate_copyright[] =
|
|
+static const char inflate_copyright[] =
|
|
" inflate 1.2.13 Copyright 1995-2022 Mark Adler ";
|
|
/*
|
|
If you use the zlib library in a product, an acknowledgment is welcome
|
|
diff --git b/src/gzip/inftrees.h a/src/gzip/inftrees.h
|
|
index f53665311..a2207efb1 100644
|
|
--- b/src/gzip/inftrees.h
|
|
+++ a/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.
|
|
@@ -57,6 +60,8 @@ typedef enum {
|
|
DISTS
|
|
} codetype;
|
|
|
|
-int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens,
|
|
+static 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 b/src/gzip/zlib.h a/src/gzip/zlib.h
|
|
index 953cb5012..3f2f76e3c 100644
|
|
--- b/src/gzip/zlib.h
|
|
+++ a/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 */
|
|
|
|
@@ -373,6 +375,7 @@ ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
|
|
deallocated).
|
|
*/
|
|
|
|
+#endif /* !Z_FREETYPE */
|
|
|
|
/*
|
|
ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
|
|
@@ -534,6 +537,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,
|
|
@@ -956,6 +961,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,
|
|
@@ -980,6 +987,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));
|
|
@@ -1069,6 +1078,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));
|
|
@@ -1095,6 +1106,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));
|
|
@@ -1214,6 +1227,8 @@ ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
|
|
27-31: 0 (reserved)
|
|
*/
|
|
|
|
+#endif /* !Z_FREETYPE */
|
|
+
|
|
#ifndef Z_SOLO
|
|
|
|
/* utility functions */
|
|
@@ -1765,6 +1780,8 @@ ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t len2));
|
|
crc32_combine_op().
|
|
*/
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
ZEXTERN uLong ZEXPORT crc32_combine_op OF((uLong crc1, uLong crc2, uLong op));
|
|
/*
|
|
Give the same result as crc32_combine(), using op in place of len2. op is
|
|
@@ -1822,6 +1839,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
|
|
@@ -1901,20 +1931,25 @@ 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));
|
|
ZEXTERN uLong ZEXPORT crc32_combine_gen OF((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));
|
|
ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
|
|
ZEXTERN int ZEXPORT inflateValidate OF((z_streamp, int));
|
|
ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF((z_streamp));
|
|
+#endif /* !Z_FREETYPE */
|
|
ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
|
|
+#ifndef Z_FREETYPE
|
|
ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
|
|
#if defined(_WIN32) && !defined(Z_SOLO)
|
|
ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
|
|
@@ -1927,6 +1962,7 @@ ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file,
|
|
va_list va));
|
|
# endif
|
|
#endif
|
|
+#endif /* !Z_FREETYPE */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
diff --git b/src/gzip/zutil.c a/src/gzip/zutil.c
|
|
index ef174ca64..542706ca0 100644
|
|
--- b/src/gzip/zutil.c
|
|
+++ a/src/gzip/zutil.c
|
|
@@ -10,6 +10,8 @@
|
|
# include "gzguts.h"
|
|
#endif
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
z_const char * const z_errmsg[10] = {
|
|
(z_const char *)"need dictionary", /* Z_NEED_DICT 2 */
|
|
(z_const char *)"stream end", /* Z_STREAM_END 1 */
|
|
@@ -138,6 +140,8 @@ const char * ZEXPORT zError(
|
|
return ERR_MSG(err);
|
|
}
|
|
|
|
+#endif /* !Z_FREETYPE */
|
|
+
|
|
#if defined(_WIN32_WCE) && _WIN32_WCE < 0x800
|
|
/* The older Microsoft C Run-Time Library for Windows CE doesn't have
|
|
* errno. We define it as a global variable to simplify porting.
|
|
@@ -159,6 +163,8 @@ void ZLIB_INTERNAL zmemcpy(
|
|
} while (--len != 0);
|
|
}
|
|
|
|
+#ifndef Z_FREETYPE
|
|
+
|
|
int ZLIB_INTERNAL zmemcmp(
|
|
const Bytef* s1,
|
|
const Bytef* s2,
|
|
@@ -181,6 +187,7 @@ void ZLIB_INTERNAL zmemzero(
|
|
*dest++ = 0; /* ??? to be unrolled */
|
|
} while (--len != 0);
|
|
}
|
|
+#endif /* !Z_FREETYPE */
|
|
#endif
|
|
|
|
#ifndef Z_SOLO
|
|
diff --git b/src/gzip/zutil.h a/src/gzip/zutil.h
|
|
index 0bc7f4ecd..055ba8b62 100644
|
|
--- b/src/gzip/zutil.h
|
|
+++ a/src/gzip/zutil.h
|
|
@@ -53,8 +53,10 @@ typedef unsigned long ulg;
|
|
# endif
|
|
#endif
|
|
|
|
+#ifndef Z_FREETYPE
|
|
extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
|
|
/* (size given to avoid silly warnings with Visual C++) */
|
|
+#endif /* !Z_FREETYPE */
|
|
|
|
#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
|
|
|
|
@@ -188,6 +190,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)
|
|
@@ -196,6 +200,8 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
|
|
ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off_t));
|
|
#endif
|
|
|
|
+#endif /* !Z_FREETYPE */
|
|
+
|
|
/* common defaults */
|
|
|
|
#ifndef OS_CODE
|
|
@@ -227,9 +233,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));
|