aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Adler <madler@alumni.caltech.edu>2012-02-01 23:25:34 -0800
committerMark Adler <madler@alumni.caltech.edu>2012-02-01 23:25:34 -0800
commit55b8b5fec16503cb9ce26074f600a1d7b426a0cc (patch)
tree7e14662a33ffd8141e9a794329aa0a731250f486
parenta8d23bb675e05cfc0cc70ddc8ea03dbbf0e49fb8 (diff)
downloadzlib-55b8b5fec16503cb9ce26074f600a1d7b426a0cc.tar.gz
zlib-55b8b5fec16503cb9ce26074f600a1d7b426a0cc.tar.bz2
zlib-55b8b5fec16503cb9ce26074f600a1d7b426a0cc.zip
Put gzflags() functionality back in zutil.c.
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.
-rw-r--r--as400/bndsrc1
-rw-r--r--as400/zlib.inc2
-rw-r--r--contrib/vstudio/vc10/zlibvc.def1
-rw-r--r--contrib/vstudio/vc9/zlibvc.def1
-rw-r--r--gzwrite.c31
-rw-r--r--win32/zlib.def1
-rw-r--r--zconf.h1
-rw-r--r--zconf.h.cmakein1
-rw-r--r--zconf.h.in1
-rw-r--r--zlib.h3
-rw-r--r--zlib.map1
-rw-r--r--zutil.c29
12 files changed, 26 insertions, 47 deletions
diff --git a/as400/bndsrc b/as400/bndsrc
index d048dbb..52cc661 100644
--- a/as400/bndsrc
+++ b/as400/bndsrc
@@ -195,7 +195,6 @@ STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('ZLIB')
195/********************************************************************/ 195/********************************************************************/
196 196
197 EXPORT SYMBOL("gzgetc_") 197 EXPORT SYMBOL("gzgetc_")
198 EXPORT SYMBOL("gzflags")
199 198
200/********************************************************************/ 199/********************************************************************/
201/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */ 200/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
diff --git a/as400/zlib.inc b/as400/zlib.inc
index a5838cb..2671c87 100644
--- a/as400/zlib.inc
+++ b/as400/zlib.inc
@@ -442,6 +442,4 @@
442 D PR 10I 0 extproc('deflateResetKeep') End and init. stream 442 D PR 10I 0 extproc('deflateResetKeep') End and init. stream
443 D strm like(z_stream) Expansion stream 443 D strm like(z_stream) Expansion stream
444 * 444 *
445 D gzflags PR 10U 0 extproc('gzflags')
446 *
447 /endif 445 /endif
diff --git a/contrib/vstudio/vc10/zlibvc.def b/contrib/vstudio/vc10/zlibvc.def
index 571b0a6..b4bb8f6 100644
--- a/contrib/vstudio/vc10/zlibvc.def
+++ b/contrib/vstudio/vc10/zlibvc.def
@@ -132,6 +132,5 @@ EXPORTS
132 132
133; zlib1 v1.2.6 added: 133; zlib1 v1.2.6 added:
134 gzgetc_ @161 134 gzgetc_ @161
135 gzflags @162
136 inflateResetKeep @163 135 inflateResetKeep @163
137 deflateResetKeep @164 136 deflateResetKeep @164
diff --git a/contrib/vstudio/vc9/zlibvc.def b/contrib/vstudio/vc9/zlibvc.def
index 571b0a6..b4bb8f6 100644
--- a/contrib/vstudio/vc9/zlibvc.def
+++ b/contrib/vstudio/vc9/zlibvc.def
@@ -132,6 +132,5 @@ EXPORTS
132 132
133; zlib1 v1.2.6 added: 133; zlib1 v1.2.6 added:
134 gzgetc_ @161 134 gzgetc_ @161
135 gzflags @162
136 inflateResetKeep @163 135 inflateResetKeep @163
137 deflateResetKeep @164 136 deflateResetKeep @164
diff --git a/gzwrite.c b/gzwrite.c
index caa35b6..3b24b84 100644
--- a/gzwrite.c
+++ b/gzwrite.c
@@ -560,34 +560,3 @@ int ZEXPORT gzclose_w(file)
560 free(state); 560 free(state);
561 return ret; 561 return ret;
562} 562}
563
564/* used by zlibVersion() to get the vsnprintf story from the horse's mouth */
565unsigned long ZEXPORT gzflags()
566{
567 unsigned long flags = 0;
568#if defined(STDC) || defined(Z_HAVE_STDARG_H)
569# ifdef NO_vsnprintf
570 flags += 1L << 25;
571# ifdef HAS_vsprintf_void
572 flags += 1L << 26;
573# endif
574# else
575# ifdef HAS_vsnprintf_void
576 flags += 1L << 26;
577# endif
578# endif
579#else
580 flags += 1L << 24;
581# ifdef NO_snprintf
582 flags += 1L << 25;
583# ifdef HAS_sprintf_void
584 flags += 1L << 26;
585# endif
586# else
587# ifdef HAS_snprintf_void
588 flags += 1L << 26;
589# endif
590# endif
591#endif
592 return flags;
593}
diff --git a/win32/zlib.def b/win32/zlib.def
index d96c18a..a2a2081 100644
--- a/win32/zlib.def
+++ b/win32/zlib.def
@@ -81,4 +81,3 @@ EXPORTS
81 inflateResetKeep 81 inflateResetKeep
82 deflateResetKeep 82 deflateResetKeep
83 gzgetc_ 83 gzgetc_
84 gzflags
diff --git a/zconf.h b/zconf.h
index 71adb18..7c7e798 100644
--- a/zconf.h
+++ b/zconf.h
@@ -65,7 +65,6 @@
65# define gzdopen z_gzdopen 65# define gzdopen z_gzdopen
66# define gzeof z_gzeof 66# define gzeof z_gzeof
67# define gzerror z_gzerror 67# define gzerror z_gzerror
68# define gzflags z_gzflags
69# define gzflush z_gzflush 68# define gzflush z_gzflush
70# define gzgetc z_gzgetc 69# define gzgetc z_gzgetc
71# define gzgetc_ z_gzgetc_ 70# define gzgetc_ z_gzgetc_
diff --git a/zconf.h.cmakein b/zconf.h.cmakein
index 325f93c..c299fb1 100644
--- a/zconf.h.cmakein
+++ b/zconf.h.cmakein
@@ -67,7 +67,6 @@
67# define gzdopen z_gzdopen 67# define gzdopen z_gzdopen
68# define gzeof z_gzeof 68# define gzeof z_gzeof
69# define gzerror z_gzerror 69# define gzerror z_gzerror
70# define gzflags z_gzflags
71# define gzflush z_gzflush 70# define gzflush z_gzflush
72# define gzgetc z_gzgetc 71# define gzgetc z_gzgetc
73# define gzgetc_ z_gzgetc_ 72# define gzgetc_ z_gzgetc_
diff --git a/zconf.h.in b/zconf.h.in
index 71adb18..7c7e798 100644
--- a/zconf.h.in
+++ b/zconf.h.in
@@ -65,7 +65,6 @@
65# define gzdopen z_gzdopen 65# define gzdopen z_gzdopen
66# define gzeof z_gzeof 66# define gzeof z_gzeof
67# define gzerror z_gzerror 67# define gzerror z_gzerror
68# define gzflags z_gzflags
69# define gzflush z_gzflush 68# define gzflush z_gzflush
70# define gzgetc z_gzgetc 69# define gzgetc z_gzgetc
71# define gzgetc_ z_gzgetc_ 70# define gzgetc_ z_gzgetc_
diff --git a/zlib.h b/zlib.h
index 72252b5..bab908a 100644
--- a/zlib.h
+++ b/zlib.h
@@ -1727,9 +1727,6 @@ ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
1727ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int)); 1727ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
1728ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp)); 1728ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
1729ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp)); 1729ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
1730#ifndef Z_SOLO
1731 ZEXTERN unsigned long ZEXPORT gzflags OF((void));
1732#endif
1733 1730
1734#ifdef __cplusplus 1731#ifdef __cplusplus
1735} 1732}
diff --git a/zlib.map b/zlib.map
index 54fa553..771f420 100644
--- a/zlib.map
+++ b/zlib.map
@@ -73,7 +73,6 @@ ZLIB_1.2.5.1 {
73 73
74ZLIB_1.2.5.2 { 74ZLIB_1.2.5.2 {
75 deflateResetKeep; 75 deflateResetKeep;
76 gzflags;
77 gzgetc_; 76 gzgetc_;
78 inflateResetKeep; 77 inflateResetKeep;
79} ZLIB_1.2.5.1; 78} ZLIB_1.2.5.1;
diff --git a/zutil.c b/zutil.c
index 8a1d242..12517b4 100644
--- a/zutil.c
+++ b/zutil.c
@@ -6,6 +6,9 @@
6/* @(#) $Id$ */ 6/* @(#) $Id$ */
7 7
8#include "zutil.h" 8#include "zutil.h"
9#ifndef Z_SOLO
10# include "gzguts.h"
11#endif
9 12
10#ifndef NO_DUMMY_DECL 13#ifndef NO_DUMMY_DECL
11struct internal_state {int dummy;}; /* for buggy compilers */ 14struct internal_state {int dummy;}; /* for buggy compilers */
@@ -85,11 +88,31 @@ uLong ZEXPORT zlibCompileFlags()
85#ifdef FASTEST 88#ifdef FASTEST
86 flags += 1L << 21; 89 flags += 1L << 21;
87#endif 90#endif
88#ifdef Z_SOLO 91#if defined(STDC) || defined(Z_HAVE_STDARG_H)
89 return flags; 92# ifdef NO_vsnprintf
93 flags += 1L << 25;
94# ifdef HAS_vsprintf_void
95 flags += 1L << 26;
96# endif
97# else
98# ifdef HAS_vsnprintf_void
99 flags += 1L << 26;
100# endif
101# endif
90#else 102#else
91 return flags + gzflags(); 103 flags += 1L << 24;
104# ifdef NO_snprintf
105 flags += 1L << 25;
106# ifdef HAS_sprintf_void
107 flags += 1L << 26;
108# endif
109# else
110# ifdef HAS_snprintf_void
111 flags += 1L << 26;
112# endif
113# endif
92#endif 114#endif
115 return flags;
93} 116}
94 117
95#ifdef DEBUG 118#ifdef DEBUG