Put gzflags() functionality back in zutil.c.
authorMark Adler <madler@alumni.caltech.edu>
Thu, 2 Feb 2012 07:25:34 +0000 (23:25 -0800)
committerMark Adler <madler@alumni.caltech.edu>
Thu, 2 Feb 2012 07:25:34 +0000 (23:25 -0800)
gzflags() was put in gzwrite.c in order to be compiled exactly the
same as gzprintf(), so that it was guaranteed to return the correct
information.  However that causes a static linkage to zlib to bring
in many routines that are often not used.  All that is required to
duplicate the compilation environment of gzprintf() is to include
gzguts.h.  So that is now done in zutil.c to assure that the correct
flags are returned.

12 files changed:
as400/bndsrc
as400/zlib.inc
contrib/vstudio/vc10/zlibvc.def
contrib/vstudio/vc9/zlibvc.def
gzwrite.c
win32/zlib.def
zconf.h
zconf.h.cmakein
zconf.h.in
zlib.h
zlib.map
zutil.c

index d048dbb..52cc661 100644 (file)
@@ -195,7 +195,6 @@ STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('ZLIB')
 /********************************************************************/
 
   EXPORT SYMBOL("gzgetc_")
-  EXPORT SYMBOL("gzflags")
 
 /********************************************************************/
 /*   *MODULE      INFLATE      ZLIB         01/02/01  00:15:09      */
index a5838cb..2671c87 100644 (file)
      D                 PR            10I 0 extproc('deflateResetKeep')          End and init. stream
      D  strm                               like(z_stream)                       Expansion stream
       *
-     D gzflags         PR            10U 0 extproc('gzflags')
-      *
       /endif
index 571b0a6..b4bb8f6 100644 (file)
@@ -132,6 +132,5 @@ EXPORTS
 \r
 ; zlib1 v1.2.6 added:\r
         gzgetc_                                 @161\r
-        gzflags                                 @162\r
         inflateResetKeep                        @163\r
        deflateResetKeep                        @164
index 571b0a6..b4bb8f6 100644 (file)
@@ -132,6 +132,5 @@ EXPORTS
 \r
 ; zlib1 v1.2.6 added:\r
         gzgetc_                                 @161\r
-        gzflags                                 @162\r
         inflateResetKeep                        @163\r
        deflateResetKeep                        @164
index caa35b6..3b24b84 100644 (file)
--- a/gzwrite.c
+++ b/gzwrite.c
@@ -560,34 +560,3 @@ int ZEXPORT gzclose_w(file)
     free(state);
     return ret;
 }
-
-/* used by zlibVersion() to get the vsnprintf story from the horse's mouth */
-unsigned long ZEXPORT gzflags()
-{
-    unsigned long flags = 0;
-#if defined(STDC) || defined(Z_HAVE_STDARG_H)
-#  ifdef NO_vsnprintf
-    flags += 1L << 25;
-#    ifdef HAS_vsprintf_void
-    flags += 1L << 26;
-#    endif
-#  else
-#    ifdef HAS_vsnprintf_void
-    flags += 1L << 26;
-#    endif
-#  endif
-#else
-    flags += 1L << 24;
-#  ifdef NO_snprintf
-    flags += 1L << 25;
-#    ifdef HAS_sprintf_void
-    flags += 1L << 26;
-#    endif
-#  else
-#    ifdef HAS_snprintf_void
-    flags += 1L << 26;
-#    endif
-#  endif
-#endif
-    return flags;
-}
index d96c18a..a2a2081 100644 (file)
@@ -81,4 +81,3 @@ EXPORTS
     inflateResetKeep
     deflateResetKeep
     gzgetc_
-    gzflags
diff --git a/zconf.h b/zconf.h
index 71adb18..7c7e798 100644 (file)
--- a/zconf.h
+++ b/zconf.h
@@ -65,7 +65,6 @@
 #    define gzdopen               z_gzdopen
 #    define gzeof                 z_gzeof
 #    define gzerror               z_gzerror
-#    define gzflags               z_gzflags
 #    define gzflush               z_gzflush
 #    define gzgetc                z_gzgetc
 #    define gzgetc_               z_gzgetc_
index 325f93c..c299fb1 100644 (file)
@@ -67,7 +67,6 @@
 #    define gzdopen               z_gzdopen
 #    define gzeof                 z_gzeof
 #    define gzerror               z_gzerror
-#    define gzflags               z_gzflags
 #    define gzflush               z_gzflush
 #    define gzgetc                z_gzgetc
 #    define gzgetc_               z_gzgetc_
index 71adb18..7c7e798 100644 (file)
@@ -65,7 +65,6 @@
 #    define gzdopen               z_gzdopen
 #    define gzeof                 z_gzeof
 #    define gzerror               z_gzerror
-#    define gzflags               z_gzflags
 #    define gzflush               z_gzflush
 #    define gzgetc                z_gzgetc
 #    define gzgetc_               z_gzgetc_
diff --git a/zlib.h b/zlib.h
index 72252b5..bab908a 100644 (file)
--- a/zlib.h
+++ b/zlib.h
@@ -1727,9 +1727,6 @@ ZEXTERN const uLongf * ZEXPORT get_crc_table    OF((void));
 ZEXTERN int            ZEXPORT inflateUndermine OF((z_streamp, int));
 ZEXTERN int            ZEXPORT inflateResetKeep OF((z_streamp));
 ZEXTERN int            ZEXPORT deflateResetKeep OF((z_streamp));
-#ifndef Z_SOLO
-  ZEXTERN unsigned long  ZEXPORT gzflags          OF((void));
-#endif
 
 #ifdef __cplusplus
 }
index 54fa553..771f420 100644 (file)
--- a/zlib.map
+++ b/zlib.map
@@ -73,7 +73,6 @@ ZLIB_1.2.5.1 {
 
 ZLIB_1.2.5.2 {
     deflateResetKeep;
-    gzflags;
     gzgetc_;
     inflateResetKeep;
 } ZLIB_1.2.5.1;
diff --git a/zutil.c b/zutil.c
index 8a1d242..12517b4 100644 (file)
--- a/zutil.c
+++ b/zutil.c
@@ -6,6 +6,9 @@
 /* @(#) $Id$ */
 
 #include "zutil.h"
+#ifndef Z_SOLO
+#  include "gzguts.h"
+#endif
 
 #ifndef NO_DUMMY_DECL
 struct internal_state      {int dummy;}; /* for buggy compilers */
@@ -85,11 +88,31 @@ uLong ZEXPORT zlibCompileFlags()
 #ifdef FASTEST
     flags += 1L << 21;
 #endif
-#ifdef Z_SOLO
-    return flags;
+#if defined(STDC) || defined(Z_HAVE_STDARG_H)
+#  ifdef NO_vsnprintf
+    flags += 1L << 25;
+#    ifdef HAS_vsprintf_void
+    flags += 1L << 26;
+#    endif
+#  else
+#    ifdef HAS_vsnprintf_void
+    flags += 1L << 26;
+#    endif
+#  endif
 #else
-    return flags + gzflags();
+    flags += 1L << 24;
+#  ifdef NO_snprintf
+    flags += 1L << 25;
+#    ifdef HAS_sprintf_void
+    flags += 1L << 26;
+#    endif
+#  else
+#    ifdef HAS_snprintf_void
+    flags += 1L << 26;
+#    endif
+#  endif
 #endif
+    return flags;
 }
 
 #ifdef DEBUG