ref: 60b32e16e75cd3387160487693a24b61b08684b6
parent: 54b0bca50c7bdfb8e820b2b4081b1f9b96d58bca
author: David Turner <[email protected]>
date: Wed Nov 6 17:32:54 EST 2002
2002-11-05 David Turner <[email protected]> * 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 <[email protected]> * src/psaux/psobjs.c (ps_table_add): modified increment loop in order to implement exponential behaviour
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,36 @@
+2002-11-05 David Turner <[email protected]>
+
+ * 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 <[email protected]>
+
+ * src/psaux/psobjs.c (ps_table_add): modified increment loop in
+ order to implement exponential behaviour
+
2002-10-31 David Turner <[email protected]>
* include/freetype/ftgzip.h, src/gzip/ftgzip.c:
@@ -132,7 +165,7 @@
ft_smooth_render_lcd_v): Ditto.
(ft_smooth_render_generic): Change third and fifth parameter to
`FT_Render_Mode'.
-
+
* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
include/freetype/ftglyph.h: Updated.
--- a/Jamfile
+++ b/Jamfile
@@ -1,6 +1,21 @@
-# FreeType 2 top Jamfile (c) 2001 David Turner
+# FreeType 2 top Jamfile (c) 2001-2002 David Turner
#
+# The HDRMACRO is already defined in FTJam and is used to add
+# the content of certain macros to the list of included header
+# files.
+#
+# we can compile FreeType 2 with classic Jam however thanks to
+# the following code
+#
+if ! $(JAM_TOOLSET)
+{
+ rule HDRMACRO
+ {
+ # nothing !!
+ }
+}
+
# We need to invoke a SubDir rule if the FT2 source directory top is not the
# current directory. This allows us to build FreeType 2 as part of a larger
# project easily.
@@ -10,11 +25,72 @@
SubDir FT2_TOP ;
}
-FT2_INCLUDE = [ FT2_SubDir include ] ;
-FT2_SRC = [ FT2_SubDir src ] ;
+#
+# The following macros define the include directory, the source directory
+# and the final library name (without library extensions). They can be
+# replaced by other definitions when the library is compiled as part of
+# a larger project.
+#
-FT2_LIB = $(LIBPREFIX)freetype ;
+# name of FreeType include directory during compilation.
+# relative to FT2_TOP
+#
+FT2_INCLUDE_DIR ?= include ;
+# name of FreeType source directory during compilation.
+# relative to FT2_TOP
+#
+FT2_SRC_DIR ?= src ;
+
+# name of final library, without extension
+#
+FT2_LIB ?= $(LIBPREFIX)freetype ;
+
+
+# define FT2_BUILD_INCLUDE to point to your build-specific directory
+# this is prepended to FT2_INCLUDE_DIR. This can be used to specify
+# the location of a custom <ft2build.h> which will point to custom
+# versions of "ftmodule.h" and "ftoption.h", for example
+#
+FT2_BUILD_INCLUDE ?= ;
+
+# the list of modules to compile on any given build of the library
+# by default, this will contain _all_ modules defined in FT2_SRC_DIR
+#
+# IMPORTANT: You'll need to change the content of "ftmodule.h" as well
+# if you modify this list or provide your own.
+#
+FT2_COMPONENTS ?= gzip # support for gzip-compressed files.
+ autohint # auto-hinter
+ base # base component (public APIs)
+ bdf # BDF font driver
+ cache # cache sub-system
+ cff # CFF/CEF font driver
+ cid # Postscript CID-keyed font driver
+ pcf # PCF font driver
+ pfr # PFR/TrueDoc font driver
+ psaux # Common Postscript routines module
+ pshinter # Postscript hinter module
+ psnames # Postscript names handling
+ raster # Monochrome rasterizer
+ smooth # Anti-aliased rasterizer
+ sfnt # SFNT-based format support routines
+ truetype # TrueType font driver
+ type1 # Postscript Type 1 font driver
+ type42 # Postscript Type 42 (embedded TrueType) driver
+ winfonts # Windows FON/FNT font driver
+ ;
+
+
+# don't touch
+#
+FT2_INCLUDE = $(FT2_BUILD_INCLUDE)
+ [ FT2_SubDir $(FT2_INCLUDE_DIR) ] ;
+
+FT2_SRC = [ FT2_SubDir $(FT2_SRC_DIR) ] ;
+
+# only used by FreeType developers
+#
if $(DEBUG_HINTER)
{
CCFLAGS += -DDEBUG_HINTER ;
@@ -24,7 +100,7 @@
# We need "freetype2/include" in the current include path in order to
# compile any part of FreeType 2.
#
-SubDirHdr += $(FT2_INCLUDE) ;
+SubDirHdr += $(FT2_INCLUDE) ;
# Uncomment the following line if you want to build individual source files
# for each FreeType 2 module.
@@ -41,10 +117,10 @@
# Now include the Jamfile in "freetype2/src", used to drive the compilation
# of each FreeType 2 component and/or module.
#
-SubInclude FT2_TOP src ;
+SubInclude FT2_TOP $(FT2_SRC_DIR) ;
-# tests files (hinter debugging)
+# tests files (hinter debugging). only used by FreeType developers
#
if $(DEBUG_HINTER)
{
--- a/Jamfile.in
+++ b/Jamfile.in
@@ -48,7 +48,7 @@
# Now include the Jamfile in "freetype2/src", used to drive the compilation
# of each FreeType 2 component and/or module.
#
-SubInclude FT2_TOP src ;
+SubInclude FT2_TOP $(FT2_SRC_DIR) ;
# tests files (hinter debugging)
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -92,7 +92,7 @@
/* file "ftconfig.h" either statically, or through Autoconf */
/* on platforms that support it. */
/* */
-#undef FT_CONFIG_OPTION_FORCE_INT64
+#undef FT_CONFIG_OPTION_FORCE_INT64
/*************************************************************************/
@@ -110,8 +110,30 @@
/* */
#define FT_CONFIG_OPTION_USE_ZLIB
+
/*************************************************************************/
/* */
+ /* ZLib library selection */
+ /* */
+ /* This macro is only used when FT_CONFIG_OPTION_USE_ZLIB is defined. */
+ /* It allows FreeType's "ftgzip" component to link to the system's */
+ /* installation of the ZLib library. This is useful on systems like */
+ /* Unix or VMS where it generally is already available. */
+ /* */
+ /* If you let it undefined, the component will use its own copy */
+ /* of the zlib sources instead. These have been modified to be */
+ /* included directly within the component and *not* export external */
+ /* function names. This allows you to link any program with FreeType */
+ /* _and_ ZLib without linking conflicts. */
+ /* */
+ /* do not #undef this macro here, since the build system might */
+ /* define for certain configurations */
+ /* */
+/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
+
+
+ /*************************************************************************/
+ /* */
/* DLL export compilation */
/* */
/* When compiling FreeType as a DLL, some systems/compilers need a */
@@ -145,8 +167,8 @@
/* will be later automatically defined as `extern return_type' to */
/* allow normal compilation. */
/* */
-#undef FT_EXPORT
-#undef FT_EXPORT_DEF
+/* #define FT_EXPORT(x) extern x */
+/* #define FT_EXPORT_DEF(x) x */
/*************************************************************************/
@@ -199,7 +221,7 @@
/* This allows FreeType to be used with the PostScript language, using */
/* the GhostScript interpreter. */
/* */
-#undef FT_CONFIG_OPTION_INCREMENTAL
+/* #define FT_CONFIG_OPTION_INCREMENTAL */
/*************************************************************************/
@@ -236,8 +258,8 @@
/* */
/* Don't define any of these macros to compile in `release' mode! */
/* */
-#undef FT_DEBUG_LEVEL_ERROR
-#undef FT_DEBUG_LEVEL_TRACE
+/* #define FT_DEBUG_LEVEL_ERROR */
+/* #define FT_DEBUG_LEVEL_TRACE */
/*************************************************************************/
@@ -252,7 +274,7 @@
/* Note that the memory debugger is only activated at runtime when */
/* when the _environment_ variable "FT_DEBUG_MEMORY" is also defined! */
/* */
-#undef FT_DEBUG_MEMORY
+/* #define FT_DEBUG_MEMORY */
@@ -353,7 +375,10 @@
/* By undefining this, you will only compile the code necessary to load */
/* TrueType glyphs without hinting. */
/* */
-#undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ /* do not #undef this macro here, since the build system might */
+ /* define for certain configurations */
+ /* */
+/* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
/*************************************************************************/
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -2037,7 +2037,7 @@
* when you want to retrieve the original glyph outlines in font units.
*
* FT_LOAD_NO_HINTING ::
- * Don't hint glyph outlines after their scaling to device pixels.
+ * Don't hint glyph outlines after their scaling to device pixels.
* This generally generates "blurrier" glyphs in anti-aliased modes.
*
* This flag is ignored if @FT_LOAD_NO_SCALE is set.
@@ -2143,10 +2143,11 @@
/* */
-#define FT_LOAD_TARGET_( x ) ( (FT_Int32)( (x) & 7 ) << 16 )
-#define FT_LOAD_TARGET_MODE( x ) ( (FT_Render_Mode)( ( (x) >> 16 ) & 7 ) )
+#define FT_LOAD_TARGET_( x ) ( (FT_Int32)( (x) & 15 ) << 16 )
+#define FT_LOAD_TARGET_MODE( x ) ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
+#define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT )
#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO )
#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD )
#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V )
@@ -2201,6 +2202,13 @@
/* This is the default render mode; it corresponds to 8-bit */
/* anti-aliased bitmaps, using 256 levels of opacity. */
/* */
+ /* FT_RENDER_MODE_LIGHT :: */
+ /* This is similar to @FT_RENDER_MODE_NORMAL, except that this */
+ /* changes the hinting to prevent stem width quantization. This */
+ /* results in glyph shapes that are more similar to the original, */
+ /* while being a bit more fuzzy ("better shapes", instead of */
+ /* "better contrast" if you want :-) */
+ /* */
/* FT_RENDER_MODE_MONO :: */
/* This mode corresponds to 1-bit bitmaps. */
/* */
@@ -2224,6 +2232,7 @@
typedef enum FT_Render_Mode_
{
FT_RENDER_MODE_NORMAL = 0,
+ FT_RENDER_MODE_LIGHT,
FT_RENDER_MODE_MONO,
FT_RENDER_MODE_LCD,
FT_RENDER_MODE_LCD_V,
--- a/src/Jamfile
+++ b/src/Jamfile
@@ -1,37 +1,17 @@
# FreeType 2 src Jamfile (c) 2001, 2002 David Turner
#
-SubDir FT2_TOP src ;
+SubDir FT2_TOP $(FT2_SRC_DIR) ;
-# We need to add "freetype/src" to the current include path in order to
-# compile any part of FreeType 2.
-#
-SubDirHdrs [ FT2_SubDir src ] ;
-
# The file <freetype/internal/internal.h> is used to define macros that are
# later used in #include statements. It needs to be parsed in order to
# record these definitions.
#
-HDRMACRO [ FT2_SubDir include internal internal.h ] ;
+HDRMACRO [ FT2_SubDir $(FT2_INCLUDE_DIR) internal internal.h ] ;
-SubInclude FT2_TOP src gzip ;
-SubInclude FT2_TOP src autohint ;
-SubInclude FT2_TOP src base ;
-SubInclude FT2_TOP src bdf ;
-SubInclude FT2_TOP src cache ;
-SubInclude FT2_TOP src cff ;
-SubInclude FT2_TOP src cid ;
-SubInclude FT2_TOP src pcf ;
-SubInclude FT2_TOP src pfr ;
-SubInclude FT2_TOP src psaux ;
-SubInclude FT2_TOP src pshinter ;
-SubInclude FT2_TOP src psnames ;
-SubInclude FT2_TOP src raster ;
-SubInclude FT2_TOP src sfnt ;
-SubInclude FT2_TOP src smooth ;
-SubInclude FT2_TOP src truetype ;
-SubInclude FT2_TOP src type1 ;
-SubInclude FT2_TOP src type42 ;
-SubInclude FT2_TOP src winfonts ;
+for xx in $(FT2_COMPONENTS)
+{
+ SubInclude FT2_TOP $(FT2_SRC_DIR) $(xx) ;
+}
# end of src Jamfile
--- a/src/autohint/Jamfile
+++ b/src/autohint/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/autohint Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src autohint ;
-
-SubDirHdrs [ FT2_SubDir src autohint ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) autohint ;
{
local _sources ;
--- a/src/autohint/ahhint.c
+++ b/src/autohint/ahhint.c
@@ -233,11 +233,8 @@
sign = -1;
}
+ /* do not touch serifs widths !! */
#if 0
- if ( dist < 32 )
- dist = 32;
-#else
- /* do not strengthen serifs */
if ( base->flags & AH_EDGE_DONE )
{
if ( dist >= 64 )
@@ -360,77 +357,50 @@
if ( edge2->blue_edge || edge2 < edge )
{
-#if 0
- printf( "strange blue alignment, edge %d to %d\n",
- edge - edges, edge2 - edges );
-#endif
-
ah_align_linked_edge( hinter, edge2, edge, dimension );
edge->flags |= AH_EDGE_DONE;
continue;
}
+ if ( !anchor )
{
-#if 0
- FT_Bool min = 0;
-#endif
+ edge->pos = ( edge->opos + 32 ) & -64;
+ anchor = edge;
+ edge->flags |= AH_EDGE_DONE;
- if ( !anchor )
- {
- edge->pos = ( edge->opos + 32 ) & -64;
- anchor = edge;
+ ah_align_linked_edge( hinter, edge, edge2, dimension );
+ }
+ else
+ {
+ FT_Pos org_pos, org_len, org_center, cur_len;
+ FT_Pos cur_pos1, cur_pos2, delta1, delta2;
- edge->flags |= AH_EDGE_DONE;
- ah_align_linked_edge( hinter, edge, edge2, dimension );
- }
- else
- {
- FT_Pos org_pos, org_len, org_center, cur_len;
- FT_Pos cur_pos1, cur_pos2, delta1, delta2;
+ org_pos = anchor->pos + (edge->opos - anchor->opos);
+ org_len = edge2->opos - edge->opos;
+ org_center = org_pos + ( org_len >> 1 );
+ cur_len = ah_compute_stem_width( hinter, dimension, org_len );
- org_pos = anchor->pos + (edge->opos - anchor->opos);
- org_len = edge2->opos - edge->opos;
- org_center = org_pos + ( org_len >> 1 );
+ cur_pos1 = ( org_pos + 32 ) & -64;
+ delta1 = ( cur_pos1 + ( cur_len >> 1 ) - org_center );
+ if ( delta1 < 0 )
+ delta1 = -delta1;
- cur_len = ah_compute_stem_width( hinter, dimension, org_len );
+ cur_pos2 = ( ( org_pos + org_len + 32 ) & -64 ) - cur_len;
+ delta2 = ( cur_pos2 + ( cur_len >> 1 ) - org_center );
+ if ( delta2 < 0 )
+ delta2 = -delta2;
- cur_pos1 = ( org_pos + 32 ) & -64;
- delta1 = ( cur_pos1 + ( cur_len >> 1 ) - org_center );
- if ( delta1 < 0 )
- delta1 = -delta1;
+ edge->pos = ( delta1 <= delta2 ) ? cur_pos1 : cur_pos2;
+ edge2->pos = edge->pos + cur_len;
- cur_pos2 = ( ( org_pos + org_len + 32 ) & -64 ) - cur_len;
- delta2 = ( cur_pos2 + ( cur_len >> 1 ) - org_center );
- if ( delta2 < 0 )
- delta2 = -delta2;
+ edge->flags |= AH_EDGE_DONE;
+ edge2->flags |= AH_EDGE_DONE;
- edge->pos = ( delta1 <= delta2 ) ? cur_pos1 : cur_pos2;
- edge2->pos = edge->pos + cur_len;
-
- edge->flags |= AH_EDGE_DONE;
- edge2->flags |= AH_EDGE_DONE;
-
- if ( edge > edges && edge->pos < edge[-1].pos )
- edge->pos = edge[-1].pos;
-
-#if 0
- delta = 0;
- if ( edge2 + 1 < edge_limit &&
- edge2[1].flags & AH_EDGE_DONE )
- delta = edge2[1].pos - edge2->pos;
-
- if ( delta < 0 )
- {
- edge2->pos += delta;
- if ( !min )
- edge->pos += delta;
- }
- edge2->flags |= AH_EDGE_DONE;
-#endif
- }
+ if ( edge > edges && edge->pos < edge[-1].pos )
+ edge->pos = edge[-1].pos;
}
}
--- a/src/base/Jamfile
+++ b/src/base/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/base Jamfile (c) 2001, 2002 David Turner
#
-SubDir FT2_TOP src base ;
-
-SubDirHdrs [ FT2_SubDir src base ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) base ;
{
local _sources ;
--- a/src/bdf/Jamfile
+++ b/src/bdf/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/bdf Jamfile (c) 2002 David Turner
#
-SubDir FT2_TOP src bdf ;
-
-SubDirHdrs [ FT2_SubDir src bdf ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) bdf ;
{
local _sources ;
--- a/src/cache/Jamfile
+++ b/src/cache/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/cache Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src cache ;
-
-SubDirHdrs [ FT2_SubDir src cache ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) cache ;
# The file <freetype/ftcache.h> contains some macro definitions that are
# later used in #include statements related to the cache sub-system. It
--- a/src/cff/Jamfile
+++ b/src/cff/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/cff Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src cff ;
-
-SubDirHdrs [ FT2_SubDir src cff ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) cff ;
{
local _sources ;
--- a/src/cid/Jamfile
+++ b/src/cid/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/cid Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src cid ;
-
-SubDirHdrs [ FT2_SubDir src cid ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) cid ;
{
local _sources ;
--- a/src/gzip/Jamfile
+++ b/src/gzip/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/gzip Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src gzip ;
-
-SubDirHdrs [ FT2_SubDir src gzip ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) gzip ;
Library $(FT2_LIB) : ftgzip.c ;
--- a/src/gzip/adler32.c
+++ b/src/gzip/adler32.c
@@ -1,6 +1,6 @@
/* adler32.c -- compute the Adler-32 checksum of a data stream
* Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
+ * For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
@@ -18,7 +18,7 @@
#define DO16(buf) DO8(buf,0); DO8(buf,8);
/* ========================================================================= */
-uLong ZEXPORT adler32(adler, buf, len)
+ZEXTERNDEF uLong ZEXPORT adler32(adler, buf, len)
uLong adler;
const Bytef *buf;
uInt len;
--- a/src/gzip/ftgzip.c
+++ b/src/gzip/ftgzip.c
@@ -27,14 +27,25 @@
#ifdef FT_CONFIG_OPTION_USE_ZLIB
-# define NO_DUMMY_DECL
-# define BUILDFIXED /* save code size */
+#ifdef FT_CONFIG_OPTION_SYSTEM_ZLIB
# include "zlib.h"
-# if 1 /* we choose to include directly the zlib sources in this component */
- /* this is done to avoid ugly library dependencies */
+#else /* !SYSTEM_ZLIB */
+ /* in this case, we include our own modified sources of the ZLib */
+ /* within the "ftgzip" component. The modifications were necessary */
+ /* to #include all files without conflicts, as well as preventing */
+ /* the definition of "extern" functions that may cause linking */
+ /* conflicts when a program is linked with both FreeType and the */
+ /* original ZLib */
+
+# define NO_DUMMY_DECL
+# define BUILDFIXED /* save code size */
+# define MY_ZCALLOC
+
+# include "zlib.h"
+
# undef SLOW
# define SLOW 1 /* we can't use asm-optimized sources here !! */
@@ -46,7 +57,7 @@
# include "inflate.c"
# include "adler32.c"
-# endif /* 1 */
+#endif /* !SYSTEM_ZLIB */
/***************************************************************************/
@@ -80,6 +91,27 @@
{
FT_MEM_FREE( address );
}
+
+
+#ifndef FT_CONFIG_OPTION_SYSTEM_ZLIB
+
+ local voidpf
+ zcalloc (opaque, items, size)
+ voidpf opaque;
+ unsigned items;
+ unsigned size;
+ {
+ return ft_gzip_alloc( opaque, items, size );
+ }
+
+ local void
+ zcfree( voidpf opaque,
+ voidpf ptr )
+ {
+ ft_gzip_free( opaque, ptr );
+ }
+
+#endif /* !SYSTEM_ZLIB */
/***************************************************************************/
--- a/src/gzip/infblock.c
+++ b/src/gzip/infblock.c
@@ -64,7 +64,7 @@
*/
-void inflate_blocks_reset(s, z, c)
+local void inflate_blocks_reset(s, z, c)
inflate_blocks_statef *s;
z_streamp z;
uLongf *c;
@@ -85,7 +85,7 @@
}
-inflate_blocks_statef *inflate_blocks_new(z, c, w)
+local inflate_blocks_statef *inflate_blocks_new(z, c, w)
z_streamp z;
check_func c;
uInt w;
@@ -116,7 +116,7 @@
}
-int inflate_blocks(s, z, r)
+local int inflate_blocks(s, z, r)
inflate_blocks_statef *s;
z_streamp z;
int r;
@@ -368,7 +368,7 @@
}
-int inflate_blocks_free(s, z)
+local int inflate_blocks_free(s, z)
inflate_blocks_statef *s;
z_streamp z;
{
@@ -381,22 +381,3 @@
}
-void inflate_set_dictionary(s, d, n)
-inflate_blocks_statef *s;
-const Bytef *d;
-uInt n;
-{
- zmemcpy(s->window, d, n);
- s->read = s->write = s->window + n;
-}
-
-
-/* Returns true if inflate is currently at the end of a block generated
- * by Z_SYNC_FLUSH or Z_FULL_FLUSH.
- * IN assertion: s != Z_NULL
- */
-int inflate_blocks_sync_point(s)
-inflate_blocks_statef *s;
-{
- return s->mode == LENS;
-}
--- a/src/gzip/infblock.h
+++ b/src/gzip/infblock.h
@@ -14,31 +14,23 @@
struct inflate_blocks_state;
typedef struct inflate_blocks_state FAR inflate_blocks_statef;
-extern inflate_blocks_statef * inflate_blocks_new OF((
+local inflate_blocks_statef * inflate_blocks_new OF((
z_streamp z,
check_func c, /* check function */
uInt w)); /* window size */
-extern int inflate_blocks OF((
+local int inflate_blocks OF((
inflate_blocks_statef *,
z_streamp ,
int)); /* initial return code */
-extern void inflate_blocks_reset OF((
+local void inflate_blocks_reset OF((
inflate_blocks_statef *,
z_streamp ,
uLongf *)); /* check value on output */
-extern int inflate_blocks_free OF((
+local int inflate_blocks_free OF((
inflate_blocks_statef *,
z_streamp));
-
-extern void inflate_set_dictionary OF((
- inflate_blocks_statef *s,
- const Bytef *d, /* dictionary */
- uInt n)); /* dictionary length */
-
-extern int inflate_blocks_sync_point OF((
- inflate_blocks_statef *s));
#endif /* _INFBLOCK_H */
--- a/src/gzip/infcodes.c
+++ b/src/gzip/infcodes.c
@@ -55,7 +55,7 @@
};
-inflate_codes_statef *inflate_codes_new(bl, bd, tl, td, z)
+local inflate_codes_statef *inflate_codes_new(bl, bd, tl, td, z)
uInt bl, bd;
inflate_huft *tl;
inflate_huft *td; /* need separate declaration for Borland C++ */
@@ -77,7 +77,7 @@
}
-int inflate_codes(s, z, r)
+local int inflate_codes(s, z, r)
inflate_blocks_statef *s;
z_streamp z;
int r;
@@ -241,7 +241,7 @@
}
-void inflate_codes_free(c, z)
+local void inflate_codes_free(c, z)
inflate_codes_statef *c;
z_streamp z;
{
--- a/src/gzip/infcodes.h
+++ b/src/gzip/infcodes.h
@@ -14,17 +14,17 @@
struct inflate_codes_state;
typedef struct inflate_codes_state FAR inflate_codes_statef;
-extern inflate_codes_statef *inflate_codes_new OF((
+local inflate_codes_statef *inflate_codes_new OF((
uInt, uInt,
inflate_huft *, inflate_huft *,
z_streamp ));
-extern int inflate_codes OF((
+local int inflate_codes OF((
inflate_blocks_statef *,
z_streamp ,
int));
-extern void inflate_codes_free OF((
+local void inflate_codes_free OF((
inflate_codes_statef *,
z_streamp ));
--- a/src/gzip/inflate.c
+++ b/src/gzip/inflate.c
@@ -136,15 +136,7 @@
}
-int ZEXPORT inflateInit_(z, version, stream_size)
-z_streamp z;
-const char *version;
-int stream_size;
-{
- return inflateInit2_(z, DEF_WBITS, version, stream_size);
-}
-
#undef NEEDBYTE
#define NEEDBYTE {if(z->avail_in==0)return r;r=f;}
@@ -279,93 +271,3 @@
#endif
}
-
-int ZEXPORT inflateSetDictionary(z, dictionary, dictLength)
-z_streamp z;
-const Bytef *dictionary;
-uInt dictLength;
-{
- uInt length = dictLength;
-
- if (z == Z_NULL || z->state == Z_NULL || z->state->mode != DICT0)
- return Z_STREAM_ERROR;
-
- if (adler32(1L, dictionary, dictLength) != z->adler) return Z_DATA_ERROR;
- z->adler = 1L;
-
- if (length >= ((uInt)1<<z->state->wbits))
- {
- length = (1<<z->state->wbits)-1;
- dictionary += dictLength - length;
- }
- inflate_set_dictionary(z->state->blocks, dictionary, length);
- z->state->mode = BLOCKS;
- return Z_OK;
-}
-
-
-int ZEXPORT inflateSync(z)
-z_streamp z;
-{
- uInt n; /* number of bytes to look at */
- Bytef *p; /* pointer to bytes */
- uInt m; /* number of marker bytes found in a row */
- uLong r, w; /* temporaries to save total_in and total_out */
-
- /* set up */
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->mode != BAD)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0;
- }
- if ((n = z->avail_in) == 0)
- return Z_BUF_ERROR;
- p = z->next_in;
- m = z->state->sub.marker;
-
- /* search */
- while (n && m < 4)
- {
- static const Byte mark[4] = {0, 0, 0xff, 0xff};
- if (*p == mark[m])
- m++;
- else if (*p)
- m = 0;
- else
- m = 4 - m;
- p++, n--;
- }
-
- /* restore */
- z->total_in += p - z->next_in;
- z->next_in = p;
- z->avail_in = n;
- z->state->sub.marker = m;
-
- /* return no joy or set up to restart on a new block */
- if (m != 4)
- return Z_DATA_ERROR;
- r = z->total_in; w = z->total_out;
- inflateReset(z);
- z->total_in = r; z->total_out = w;
- z->state->mode = BLOCKS;
- return Z_OK;
-}
-
-
-/* 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
- * implementation to provide an additional safety check. PPP uses Z_SYNC_FLUSH
- * but removes the length bytes of the resulting empty stored block. When
- * decompressing, PPP checks that at the end of input packet, inflate is
- * waiting for these length bytes.
- */
-int ZEXPORT inflateSyncPoint(z)
-z_streamp z;
-{
- if (z == Z_NULL || z->state == Z_NULL || z->state->blocks == Z_NULL)
- return Z_STREAM_ERROR;
- return inflate_blocks_sync_point(z->state->blocks);
-}
--- a/src/gzip/inftrees.c
+++ b/src/gzip/inftrees.c
@@ -10,7 +10,7 @@
# define BUILDFIXED /* non ANSI compilers may not accept inffixed.h */
#endif
-const char inflate_copyright[] =
+local const char inflate_copyright[] =
" inflate 1.1.4 Copyright 1995-2002 Mark Adler ";
/*
If you use the zlib library in a product, an acknowledgment is welcome
@@ -212,7 +212,7 @@
/* compute minimum size table less than or equal to l bits */
z = g - w;
- z = z > (uInt)l ? l : z; /* table size upper limit */
+ z = z > (uInt)l ? (uInt)l : z; /* table size upper limit */
if ((f = 1 << (j = k - w)) > a + 1) /* try a k-w bit table */
{ /* too few codes for k-w bit table */
f -= a + 1; /* deduct codes from patterns left */
@@ -289,7 +289,7 @@
}
-int inflate_trees_bits(c, bb, tb, hp, z)
+local int inflate_trees_bits(c, bb, tb, hp, z)
uIntf *c; /* 19 code lengths */
uIntf *bb; /* bits tree desired/actual depth */
inflate_huft * FAR *tb; /* bits tree result */
@@ -316,7 +316,7 @@
}
-int inflate_trees_dynamic(nl, nd, c, bl, bd, tl, td, hp, z)
+local int inflate_trees_dynamic(nl, nd, c, bl, bd, tl, td, hp, z)
uInt nl; /* number of literal/length codes */
uInt nd; /* number of distance codes */
uIntf *c; /* that many (total) code lengths */
@@ -394,7 +394,7 @@
#endif
-int inflate_trees_fixed(bl, bd, tl, td, z)
+local int inflate_trees_fixed(bl, bd, tl, td, z)
uIntf *bl; /* literal desired/actual bit depth */
uIntf *bd; /* distance desired/actual bit depth */
inflate_huft * FAR *tl; /* literal/length tree result */
--- a/src/gzip/inftrees.h
+++ b/src/gzip/inftrees.h
@@ -35,7 +35,7 @@
value below is more than safe. */
#define MANY 1440
-extern int inflate_trees_bits OF((
+local int inflate_trees_bits OF((
uIntf *, /* 19 code lengths */
uIntf *, /* bits tree desired/actual depth */
inflate_huft * FAR *, /* bits tree result */
@@ -42,7 +42,7 @@
inflate_huft *, /* space for trees */
z_streamp)); /* for messages */
-extern int inflate_trees_dynamic OF((
+local int inflate_trees_dynamic OF((
uInt, /* number of literal/length codes */
uInt, /* number of distance codes */
uIntf *, /* that many (total) code lengths */
@@ -53,7 +53,7 @@
inflate_huft *, /* space for trees */
z_streamp)); /* for messages */
-extern int inflate_trees_fixed OF((
+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 */
--- a/src/gzip/infutil.c
+++ b/src/gzip/infutil.c
@@ -11,7 +11,7 @@
/* And'ing with mask[n] masks the lower n bits */
-uInt inflate_mask[17] = {
+local uInt inflate_mask[17] = {
0x0000,
0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
@@ -19,7 +19,7 @@
/* copy as much as possible from the sliding window to the output area */
-int inflate_flush(s, z, r)
+local int inflate_flush(s, z, r)
inflate_blocks_statef *s;
z_streamp z;
int r;
--- a/src/gzip/infutil.h
+++ b/src/gzip/infutil.h
@@ -85,10 +85,10 @@
#define LOAD {LOADIN LOADOUT}
/* masks for lower bits (size given to avoid silly warnings with Visual C++) */
-extern uInt inflate_mask[17];
+local uInt inflate_mask[17];
/* copy as much as possible from the sliding window to the output area */
-extern int inflate_flush OF((
+local int inflate_flush OF((
inflate_blocks_statef *,
z_streamp ,
int));
--- a/src/gzip/zconf.h
+++ b/src/gzip/zconf.h
@@ -1,6 +1,6 @@
/* zconf.h -- configuration of the zlib compression library
* Copyright (C) 1995-2002 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
+ * For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
@@ -188,13 +188,6 @@
# endif
#endif
-#if defined (__BEOS__)
-# if defined (ZLIB_DLL)
-# define ZEXTERN extern __declspec(dllexport)
-# else
-# define ZEXTERN extern __declspec(dllimport)
-# endif
-#endif
#ifndef ZEXPORT
# define ZEXPORT
@@ -203,7 +196,10 @@
# define ZEXPORTVA
#endif
#ifndef ZEXTERN
-# define ZEXTERN extern
+# define ZEXTERN static
+#endif
+#ifndef ZEXTERNDEF
+# define ZEXTERNDEF static
#endif
#ifndef FAR
--- a/src/gzip/zlib.h
+++ b/src/gzip/zlib.h
@@ -163,12 +163,9 @@
#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-#define zlib_version zlibVersion()
-/* for compatibility with versions < 1.0.2 */
/* basic functions */
-ZEXTERN const char * ZEXPORT zlibVersion OF((void));
/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
If the first character differs, the library code actually used is
not compatible with the zlib.h header file used by the application.
@@ -198,7 +195,6 @@
*/
-ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
/*
deflate compresses as much data as possible, and stops when the input
buffer becomes empty or the output buffer becomes full. It may introduce some
@@ -276,7 +272,6 @@
*/
-ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
/*
All dynamically allocated data structures for this stream are freed.
This function discards any unprocessed input and does not flush any
@@ -441,9 +436,6 @@
not perform any compression: this will be done by deflate().
*/
-ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
/*
Initializes the compression dictionary from the given byte sequence
without producing any compressed output. This function must be called
@@ -477,8 +469,6 @@
perform any compression: this will be done by deflate().
*/
-ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
- z_streamp source));
/*
Sets the destination stream as a complete copy of the source stream.
@@ -495,7 +485,6 @@
destination.
*/
-ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
/*
This function is equivalent to deflateEnd followed by deflateInit,
but does not free and reallocate all the internal compression state.
@@ -506,9 +495,6 @@
stream state was inconsistent (such as zalloc or state being NULL).
*/
-ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
- int level,
- int strategy));
/*
Dynamically update the compression level and compression strategy. The
interpretation of level and strategy is as in deflateInit2. This can be
@@ -550,9 +536,6 @@
modified, but next_out and avail_out are unchanged.)
*/
-ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
/*
Initializes the decompression dictionary from the given uncompressed byte
sequence. This function must be called immediately after a call of inflate
@@ -569,7 +552,6 @@
inflate().
*/
-ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
/*
Skips invalid compressed data until a full flush point (see above the
description of deflate with Z_FULL_FLUSH) can be found, or until all
@@ -605,8 +587,6 @@
utility functions can easily be modified if you need special options.
*/
-ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
/*
Compresses the source buffer into the destination buffer. sourceLen is
the byte length of the source buffer. Upon entry, destLen is the total
@@ -620,9 +600,6 @@
buffer.
*/
-ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen,
- int level));
/*
Compresses the source buffer into the destination buffer. The level
parameter has the same meaning as in deflateInit. sourceLen is the byte
@@ -635,8 +612,6 @@
Z_STREAM_ERROR if the level parameter is invalid.
*/
-ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
/*
Decompresses the source buffer into the destination buffer. sourceLen is
the byte length of the source buffer. Upon entry, destLen is the total
@@ -654,9 +629,6 @@
*/
-typedef voidp gzFile;
-
-ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
/*
Opens a gzip (.gz) file for reading or writing. The mode parameter
is as in fopen ("rb" or "wb") but can also include a compression level
@@ -672,7 +644,6 @@
can be checked to distinguish the two cases (if errno is zero, the
zlib error is Z_MEM_ERROR). */
-ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
/*
gzdopen() associates a gzFile with the file descriptor fd. File
descriptors are obtained from calls like open, dup, creat, pipe or
@@ -685,7 +656,6 @@
the (de)compression state.
*/
-ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
/*
Dynamically update the compression level or strategy. See the description
of deflateInit2 for the meaning of these parameters.
@@ -693,7 +663,6 @@
opened for writing.
*/
-ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
/*
Reads the given number of uncompressed bytes from the compressed file.
If the input file was not in gzip format, gzread copies the given number
@@ -701,8 +670,6 @@
gzread returns the number of uncompressed bytes actually read (0 for
end of file, -1 for error). */
-ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
- const voidp buf, unsigned len));
/*
Writes the given number of uncompressed bytes into the compressed file.
gzwrite returns the number of uncompressed bytes actually written
@@ -709,7 +676,6 @@
(0 in case of error).
*/
-ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
/*
Converts, formats, and writes the args to the compressed file under
control of the format string, as in fprintf. gzprintf returns the number of
@@ -716,7 +682,6 @@
uncompressed bytes actually written (0 in case of error).
*/
-ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
/*
Writes the given null-terminated string to the compressed file, excluding
the terminating null character.
@@ -723,7 +688,6 @@
gzputs returns the number of characters written, or -1 in case of error.
*/
-ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
/*
Reads bytes from the compressed file until len-1 characters are read, or
a newline character is read and transferred to buf, or an end-of-file
@@ -732,19 +696,16 @@
gzgets returns buf, or Z_NULL in case of error.
*/
-ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
/*
Writes c, converted to an unsigned char, into the compressed file.
gzputc returns the value that was written, or -1 in case of error.
*/
-ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
/*
Reads one byte from the compressed file. gzgetc returns this byte
or -1 in case of end of file or error.
*/
-ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
/*
Flushes all pending output into the compressed file. The parameter
flush is as in the deflate() function. The return value is the zlib
@@ -754,8 +715,6 @@
degrade compression.
*/
-ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
- z_off_t offset, int whence));
/*
Sets the starting position for the next gzread or gzwrite on the
given compressed file. The offset represents a number of bytes in the
@@ -772,7 +731,6 @@
would be before the current position.
*/
-ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
/*
Rewinds the given file. This function is supported only for reading.
@@ -779,7 +737,6 @@
gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
*/
-ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
/*
Returns the starting position for the next gzread or gzwrite on the
given compressed file. This position represents a number of bytes in the
@@ -788,13 +745,11 @@
gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
*/
-ZEXTERN int ZEXPORT gzeof OF((gzFile file));
/*
Returns 1 when EOF has previously been detected reading the given
input stream, otherwise zero.
*/
-ZEXTERN int ZEXPORT gzclose OF((gzFile file));
/*
Flushes all pending output if necessary, closes the compressed file
and deallocates all the (de)compression state. The return value is the zlib
@@ -801,7 +756,6 @@
error number (see function gzerror below).
*/
-ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
/*
Returns the error message for the last error which occurred on the
given compressed file. errnum is set to zlib error number. If an
@@ -835,7 +789,6 @@
if (adler != original_adler) error();
*/
-ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
/*
Update a running crc with the bytes buf[0..len-1] and return the updated
crc. If buf is NULL, this function returns the required initial value
@@ -857,14 +810,6 @@
/* deflateInit and inflateInit are macros to allow checking the zlib version
* and the compiler's view of z_stream:
*/
-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,
- int windowBits, int memLevel,
- int strategy, const char *version,
- int stream_size));
ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
const char *version, int stream_size));
#define deflateInit(strm, level) \
@@ -877,10 +822,6 @@
#define inflateInit2(strm, windowBits) \
inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
-
-ZEXTERN const char * ZEXPORT zError OF((int err));
-ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
-ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
#ifdef __cplusplus
}
--- a/src/gzip/zutil.c
+++ b/src/gzip/zutil.c
@@ -11,48 +11,6 @@
extern void exit OF((int));
#endif
-const char *z_errmsg[10] = {
-"need dictionary", /* Z_NEED_DICT 2 */
-"stream end", /* Z_STREAM_END 1 */
-"", /* Z_OK 0 */
-"file error", /* Z_ERRNO (-1) */
-"stream error", /* Z_STREAM_ERROR (-2) */
-"data error", /* Z_DATA_ERROR (-3) */
-"insufficient memory", /* Z_MEM_ERROR (-4) */
-"buffer error", /* Z_BUF_ERROR (-5) */
-"incompatible version",/* Z_VERSION_ERROR (-6) */
-""};
-
-
-const char * ZEXPORT zlibVersion()
-{
- return ZLIB_VERSION;
-}
-
-#ifdef DEBUG
-
-# ifndef verbose
-# define verbose 0
-# endif
-int z_verbose = verbose;
-
-void z_error (m)
- char *m;
-{
- fprintf(stderr, "%s\n", m);
- exit(1);
-}
-#endif
-
-/* exported to allow conversion of error code to string for compress() and
- * uncompress()
- */
-const char * ZEXPORT zError(err)
- int err;
-{
- return ERR_MSG(err);
-}
-
#ifndef HAVE_MEMCPY
--- a/src/gzip/zutil.h
+++ b/src/gzip/zutil.h
@@ -37,11 +37,7 @@
typedef ush FAR ushf;
typedef unsigned long ulg;
-extern const char *z_errmsg[10]; /* indexed by 2-zlib_error */
-/* (size given to avoid silly warnings with Visual C++) */
-#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
-
#define ERR_RETURN(strm,err) \
return (strm->msg = (char*)ERR_MSG(err), (err))
/* To be used only when the state is known to be valid */
@@ -176,7 +172,7 @@
# define zmemcmp _fmemcmp
# define zmemzero(dest, len) _fmemset(dest, 0, len)
# else
-# define zmemcpy memcpy
+# define zmemcpy ft_memcpy
# define zmemcmp memcmp
# define zmemzero(dest, len) memset(dest, 0, len)
# endif
@@ -209,8 +205,8 @@
typedef uLong (ZEXPORT *check_func) OF((uLong check, const Bytef *buf,
uInt len));
-voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
-void zcfree OF((voidpf opaque, voidpf ptr));
+local voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
+local void zcfree OF((voidpf opaque, voidpf ptr));
#define ZALLOC(strm, items, size) \
(*((strm)->zalloc))((strm)->opaque, (items), (size))
--- a/src/pcf/Jamfile
+++ b/src/pcf/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/pcf Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src pcf ;
-
-SubDirHdrs [ FT2_SubDir src pcf ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) pcf ;
{
local _sources ;
--- a/src/pfr/Jamfile
+++ b/src/pfr/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/pfr Jamfile (c) 2002 David Turner
#
-SubDir FT2_TOP src pfr ;
-
-SubDirHdrs [ FT2_SubDir src pfr ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) pfr ;
{
local _sources ;
--- a/src/pfr/pfrdrivr.c
+++ b/src/pfr/pfrdrivr.c
@@ -83,7 +83,6 @@
FT_Fixed *ametrics_x_scale,
FT_Fixed *ametrics_y_scale )
{
- FT_Error error = 0;
PFR_PhyFont phys = &face->phy_font;
FT_Fixed x_scale, y_scale;
FT_Size size = face->root.size;
@@ -111,6 +110,8 @@
if ( ametrics_y_scale )
*ametrics_y_scale = y_scale;
+
+ return 0;
}
--- a/src/pfr/pfrload.c
+++ b/src/pfr/pfrload.c
@@ -860,7 +860,7 @@
cur->advance = ( flags & PFR_PHY_PROPORTIONAL )
? PFR_NEXT_SHORT( p )
- : phy_font->standard_advance;
+ : (FT_Int) phy_font->standard_advance;
#if 0
cur->ascii = ( flags & PFR_PHY_ASCII_CODE )
--- a/src/psaux/Jamfile
+++ b/src/psaux/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/psaux Jamfile (c) 2001, 2002 David Turner
#
-SubDir FT2_TOP src psaux ;
-
-SubDirHdrs [ FT2_SubDir src psaux ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) psaux ;
{
local _sources ;
--- a/src/psaux/psobjs.c
+++ b/src/psaux/psobjs.c
@@ -174,7 +174,11 @@
in_offset = -1;
while ( new_size < table->cursor + length )
- new_size += 1024;
+ {
+ /* increase size by 25% and round up to the nearest multiple of 1024 */
+ new_size += (new_size >> 2) + 1;
+ new_size = ( new_size + 1023 ) & -1024;
+ }
error = reallocate_t1_table( table, new_size );
if ( error )
--- a/src/pshinter/Jamfile
+++ b/src/pshinter/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/pshinter Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src pshinter ;
-
-SubDirHdrs [ FT2_SubDir src pshinter ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) pshinter ;
{
local _sources ;
--- a/src/psnames/Jamfile
+++ b/src/psnames/Jamfile
@@ -1,13 +1,11 @@
# FreeType 2 src/psnames Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src psnames ;
+SubDir FT2_TOP $(FT2_SRC_DIR) psnames ;
-SubDirHdrs [ FT2_SubDir src psnames ] ;
-
{
local _sources ;
-
+
if $(FT2_MULTI)
{
_sources = psmodule ;
@@ -16,7 +14,7 @@
{
_sources = psnames ;
}
-
+
Library $(FT2_LIB) : $(_sources).c ;
}
--- a/src/raster/Jamfile
+++ b/src/raster/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/raster Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src raster ;
-
-SubDirHdrs [ FT2_SubDir src raster ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) raster ;
{
local _sources ;
--- a/src/sfnt/Jamfile
+++ b/src/sfnt/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/sfnt Jamfile (c) 2001, 2002 David Turner
#
-SubDir FT2_TOP src sfnt ;
-
-SubDirHdrs [ FT2_SubDir src sfnt ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) sfnt ;
{
local _sources ;
--- a/src/sfnt/ttcmap0.c
+++ b/src/sfnt/ttcmap0.c
@@ -1708,8 +1708,8 @@
{
FT_Byte* table = face->cmap_table;
FT_Byte* limit = table + face->cmap_size;
- volatile FT_UInt num_cmaps;
- volatile FT_Byte* p = table;
+ FT_UInt volatile num_cmaps;
+ FT_Byte* volatile p = table;
if ( p + 4 > limit )
@@ -1742,7 +1742,7 @@
{
FT_Byte* cmap = table + offset;
FT_UInt format = TT_PEEK_USHORT( cmap );
- volatile const TT_CMap_Class* pclazz = tt_cmap_classes;
+ const TT_CMap_Class* volatile pclazz = tt_cmap_classes;
TT_CMap_Class clazz;
--- a/src/smooth/Jamfile
+++ b/src/smooth/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/smooth Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src smooth ;
-
-SubDirHdrs [ FT2_SubDir src smooth ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) smooth ;
{
local _sources ;
--- a/src/truetype/Jamfile
+++ b/src/truetype/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/truetype Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src truetype ;
-
-SubDirHdrs [ FT2_SubDir src truetype ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) truetype ;
{
local _sources ;
--- a/src/type1/Jamfile
+++ b/src/type1/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/type1 Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src type1 ;
-
-SubDirHdrs [ FT2_SubDir src type1 ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) type1 ;
{
local _sources ;
--- a/src/type42/Jamfile
+++ b/src/type42/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/type42 Jamfile (c) 2002 David Turner
#
-SubDir FT2_TOP src type42 ;
-
-SubDirHdrs [ FT2_SubDir src type42 ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) type42 ;
{
local _sources ;
--- a/src/winfonts/Jamfile
+++ b/src/winfonts/Jamfile
@@ -1,9 +1,7 @@
# FreeType 2 src/winfonts Jamfile (c) 2001 David Turner
#
-SubDir FT2_TOP src winfonts ;
-
-SubDirHdrs [ FT2_SubDir src winfonts ] ;
+SubDir FT2_TOP $(FT2_SRC_DIR) winfonts ;
Library $(FT2_LIB) : winfnt.c ;