Commit a8c515d25c22da15d4a29c91267a2d4cc049de5a

suzuki toshiya 2009-08-01T00:30:11

gzip: Use FT2 zcalloc() & zfree() in ftgzip.c by default.

diff --git a/ChangeLog b/ChangeLog
index 8407142..a8beb71 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2009-07-31  suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
 
+	gzip: Use FT2 zcalloc() & zfree() in ftgzip.c by default.
+
+	* src/gzip/ftgzip.c (zcalloc, zcfree): Disable all
+	zcalloc() & zfree() by zlib in zutil.c, those in
+	ftgzip.c by FT2 are enabled by default.  To use 
+	zlib zcalloc() & zfree(), define USE_ZLIB_ZCALLOC.
+	See discussion:
+	http://lists.gnu.org/archive/html/freetype-devel/2009-02/msg00000.html
+
+2009-07-31  suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
 	gzip: Distinguish PureC from TurboC on MSDOS.
 
 	* src/gzip/zutil.c (zcalloc, zcfree): Enable only for
diff --git a/src/gzip/ftgzip.c b/src/gzip/ftgzip.c
index 479a1c0..6f0c515 100644
--- a/src/gzip/ftgzip.c
+++ b/src/gzip/ftgzip.c
@@ -58,7 +58,9 @@
  /* original ZLib.                                                   */
 
 #define NO_DUMMY_DECL
-#define MY_ZCALLOC
+#ifndef USE_ZLIB_ZCALLOC
+#define MY_ZCALLOC /* prevent all zcalloc() & zfree() in zutils.c */
+#endif
 
 #include "zlib.h"
 
@@ -121,7 +123,7 @@
   }
 
 
-#ifndef FT_CONFIG_OPTION_SYSTEM_ZLIB
+#if !defined( FT_CONFIG_OPTION_SYSTEM_ZLIB ) && !defined( USE_ZLIB_ZCALLOC )
 
   local voidpf
   zcalloc ( voidpf    opaque,
@@ -138,7 +140,7 @@
     ft_gzip_free( (FT_Memory)opaque, ptr );
   }
 
-#endif /* !SYSTEM_ZLIB */
+#endif /* !SYSTEM_ZLIB && !USE_ZLIB_ZCALLOC */
 
 
 /***************************************************************************/
diff --git a/src/gzip/zutil.c b/src/gzip/zutil.c
index 9d8beae..7ad0c1f 100644
--- a/src/gzip/zutil.c
+++ b/src/gzip/zutil.c
@@ -49,7 +49,7 @@ void zmemzero(dest, len)
 }
 #endif
 
-#if defined( MSDOS ) && defined( __TURBOC__ )
+#if defined( MSDOS ) && defined( __TURBOC__ ) && !defined( MY_ZCALLOC )
 #if (defined( __BORLANDC__) || !defined(SMALL_MEDIUM)) && !defined(__32BIT__)
 /* Small and medium model in Turbo C are for now limited to near allocation
  * with reduced MAX_WBITS and MAX_MEM_LEVEL
@@ -129,7 +129,7 @@ void  zcfree (voidpf opaque, voidpf ptr)
 #endif /* MSDOS && __TURBOC__ */
 
 
-#if defined(M_I86) && !defined(__32BIT__)
+#if defined(M_I86) && !defined(__32BIT__) && !defined( MY_ZCALLOC )
 /* Microsoft C in 16-bit mode */
 
 #  define MY_ZCALLOC