60b32e16e7
* include/freetype/config/ftoption.h, src/gzip/ftgzip.c: added support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify the use of system-wide zlib. Note that this macro, as well as FT_CONFIG_OPTION_BYTECODE_INTERPRETER, is not #undef-ed anymore. This allows the build system to define them depending on the configuration (typically by adding -D flags at compile time). * src/sfnt/ttcmap0.c (tt_face_build_cmaps): removed compiler warnings in optimized mode relative to the "volatile" local variables. This was not a compiler bug after all, but the fact that a pointer to a volatile variable is not the same than a volatile pointer to a variable :-) the fix was to change "volatile FT_Byte* p" into "FT_Byte* volatile p" * src/pfr/pfrload.c, src/pfr/pfrdrivr.c, src/gzip/inftrees.c: removed compiler warnings in optimized modes * src/gzip/*.[hc]: modified our ZLib copy in order to prevent exporting any zlib function names outside of the component. This prevents linking problems on some platforms, when applications want to link FreeType _and_ ZLib together. 2002-11-05 Juliusz <jch@pps.jussieu.fr> * src/psaux/psobjs.c (ps_table_add): modified increment loop in order to implement exponential behaviour
64 lines
2.6 KiB
C
64 lines
2.6 KiB
C
/* inftrees.h -- header to use inftrees.c
|
|
* Copyright (C) 1995-2002 Mark Adler
|
|
* For conditions of distribution and use, see copyright notice in zlib.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.
|
|
*/
|
|
|
|
/* Huffman code lookup table entry--this entry is four bytes for machines
|
|
that have 16-bit pointers (e.g. PC's in the small or medium model). */
|
|
|
|
#ifndef _INFTREES_H
|
|
#define _INFTREES_H
|
|
|
|
typedef struct inflate_huft_s FAR inflate_huft;
|
|
|
|
struct inflate_huft_s {
|
|
union {
|
|
struct {
|
|
Byte Exop; /* number of extra bits or operation */
|
|
Byte Bits; /* number of bits in this code or subcode */
|
|
} what;
|
|
uInt pad; /* pad structure to a power of 2 (4 bytes for */
|
|
} word; /* 16-bit, 8 bytes for 32-bit int's) */
|
|
uInt base; /* literal, length base, distance base,
|
|
or table offset */
|
|
};
|
|
|
|
/* Maximum size of dynamic tree. The maximum found in a long but non-
|
|
exhaustive search was 1004 huft structures (850 for length/literals
|
|
and 154 for distances, the latter actually the result of an
|
|
exhaustive search). The actual maximum is not known, but the
|
|
value below is more than safe. */
|
|
#define MANY 1440
|
|
|
|
local int inflate_trees_bits OF((
|
|
uIntf *, /* 19 code lengths */
|
|
uIntf *, /* bits tree desired/actual depth */
|
|
inflate_huft * FAR *, /* bits tree result */
|
|
inflate_huft *, /* space for trees */
|
|
z_streamp)); /* for messages */
|
|
|
|
local int inflate_trees_dynamic OF((
|
|
uInt, /* number of literal/length codes */
|
|
uInt, /* number of distance codes */
|
|
uIntf *, /* that many (total) code lengths */
|
|
uIntf *, /* literal desired/actual bit depth */
|
|
uIntf *, /* distance desired/actual bit depth */
|
|
inflate_huft * FAR *, /* literal/length tree result */
|
|
inflate_huft * FAR *, /* distance tree result */
|
|
inflate_huft *, /* space for trees */
|
|
z_streamp)); /* for messages */
|
|
|
|
local int inflate_trees_fixed OF((
|
|
uIntf *, /* literal desired/actual bit depth */
|
|
uIntf *, /* distance desired/actual bit depth */
|
|
inflate_huft * FAR *, /* literal/length tree result */
|
|
inflate_huft * FAR *, /* distance tree result */
|
|
z_streamp)); /* for memory allocation */
|
|
|
|
#endif /* _INFTREES_H */
|