aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Adler <madler@alumni.caltech.edu>2011-10-02 11:15:00 -0700
committerMark Adler <madler@alumni.caltech.edu>2011-10-02 11:15:00 -0700
commit00c836e325a07419f5d855e2f275500a37cb27d2 (patch)
tree1b4ef187059c19ee142f6c61952133b50a295136
parent0956bd23dd070074ec572fd5557a74ff29797b2f (diff)
downloadzlib-00c836e325a07419f5d855e2f275500a37cb27d2.tar.gz
zlib-00c836e325a07419f5d855e2f275500a37cb27d2.tar.bz2
zlib-00c836e325a07419f5d855e2f275500a37cb27d2.zip
Merge vestigial vsnprintf determination from zutil.h to gzguts.h.
This also moves some of the same from zconf.h to gzguts.h. A new function, gzflags(), was created to pass the compilation flags related to vsnprintf usage back to zlibCompileFlags() in zutil.c. In the process, various compiler configuration files were updated to include gzflags(), as well as the new gzgetc_() function added when the gzgetc() macro was introduced in a previous patch.
-rw-r--r--as400/bndsrc3
-rw-r--r--as400/zlib.inc13
-rw-r--r--contrib/vstudio/vc10/zlibvc.def5
-rw-r--r--contrib/vstudio/vc9/zlibvc.def5
-rw-r--r--gzguts.h45
-rw-r--r--gzwrite.c31
-rw-r--r--win32/zlib.def3
-rw-r--r--zconf.h10
-rw-r--r--zconf.h.cmakein10
-rw-r--r--zconf.h.in10
-rw-r--r--zlib.h1
-rw-r--r--zlib.map5
-rw-r--r--zutil.c26
-rw-r--r--zutil.h35
14 files changed, 111 insertions, 91 deletions
diff --git a/as400/bndsrc b/as400/bndsrc
index 06c3f43..dad2bc9 100644
--- a/as400/bndsrc
+++ b/as400/bndsrc
@@ -52,7 +52,6 @@ STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('ZLIB')
52 EXPORT SYMBOL("gzputs") 52 EXPORT SYMBOL("gzputs")
53 EXPORT SYMBOL("gzgets") 53 EXPORT SYMBOL("gzgets")
54 EXPORT SYMBOL("gzputc") 54 EXPORT SYMBOL("gzputc")
55 EXPORT SYMBOL("gzgetc")
56 EXPORT SYMBOL("gzflush") 55 EXPORT SYMBOL("gzflush")
57 EXPORT SYMBOL("gzseek") 56 EXPORT SYMBOL("gzseek")
58 EXPORT SYMBOL("gzrewind") 57 EXPORT SYMBOL("gzrewind")
@@ -170,6 +169,8 @@ STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('ZLIB')
170/********************************************************************/ 169/********************************************************************/
171 170
172 EXPORT SYMBOL("gzclose_w") 171 EXPORT SYMBOL("gzclose_w")
172 EXPORT SYMBOL("gzgetc_")
173 EXPORT SYMBOL("gzflags")
173 174
174/********************************************************************/ 175/********************************************************************/
175/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */ 176/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
diff --git a/as400/zlib.inc b/as400/zlib.inc
index 71b0e56..41ff616 100644
--- a/as400/zlib.inc
+++ b/as400/zlib.inc
@@ -182,6 +182,17 @@
182 D buf 32767 options(*varsize) Read buffer 182 D buf 32767 options(*varsize) Read buffer
183 D len 10i 0 value Buffer length 183 D len 10i 0 value Buffer length
184 * 184 *
185 D gzputc PR 10i 0 extproc('gzputc')
186 D file value like(gzFile) File pointer
187 D c 10I 0 value Character to write
188 *
189 D gzgetc_ PR 10i 0 extproc('gzgetc_')
190 D file value like(gzFile) File pointer
191 *
192 D gzungetc PR 10i 0 extproc('gzungetc')
193 D c 10I 0 value Character to push
194 D file value like(gzFile) File pointer
195 *
185 D gzflush PR 10i 0 extproc('gzflush') 196 D gzflush PR 10i 0 extproc('gzflush')
186 D file value like(gzFile) File pointer 197 D file value like(gzFile) File pointer
187 D flush 10I 0 value Type of flush 198 D flush 10I 0 value Type of flush
@@ -420,4 +431,6 @@
420 D strm like(z_stream) Expansion stream 431 D strm like(z_stream) Expansion stream
421 D arg 10I 0 value Error code 432 D arg 10I 0 value Error code
422 * 433 *
434 D gzflags PR 10U 0 extproc('gzflags')
435 *
423 /endif 436 /endif
diff --git a/contrib/vstudio/vc10/zlibvc.def b/contrib/vstudio/vc10/zlibvc.def
index ad8b4af..0d6dc38 100644
--- a/contrib/vstudio/vc10/zlibvc.def
+++ b/contrib/vstudio/vc10/zlibvc.def
@@ -33,7 +33,6 @@ EXPORTS
33 zlibVersion @27 33 zlibVersion @27
34 gzprintf @28 34 gzprintf @28
35 gzputc @29 35 gzputc @29
36 gzgetc @30
37 gzseek @31 36 gzseek @31
38 gzrewind @32 37 gzrewind @32
39 gztell @33 38 gztell @33
@@ -129,3 +128,7 @@ EXPORTS
129 inflatePrime @158 128 inflatePrime @158
130 inflateReset2 @159 129 inflateReset2 @159
131 inflateUndermine @160 130 inflateUndermine @160
131
132; zlib1 v1.2.6 added:
133 gzgetc_ @30
134 gzflags @162
diff --git a/contrib/vstudio/vc9/zlibvc.def b/contrib/vstudio/vc9/zlibvc.def
index ad8b4af..0d6dc38 100644
--- a/contrib/vstudio/vc9/zlibvc.def
+++ b/contrib/vstudio/vc9/zlibvc.def
@@ -33,7 +33,6 @@ EXPORTS
33 zlibVersion @27 33 zlibVersion @27
34 gzprintf @28 34 gzprintf @28
35 gzputc @29 35 gzputc @29
36 gzgetc @30
37 gzseek @31 36 gzseek @31
38 gzrewind @32 37 gzrewind @32
39 gztell @33 38 gztell @33
@@ -129,3 +128,7 @@ EXPORTS
129 inflatePrime @158 128 inflatePrime @158
130 inflateReset2 @159 129 inflateReset2 @159
131 inflateUndermine @160 130 inflateUndermine @160
131
132; zlib1 v1.2.6 added:
133 gzgetc_ @30
134 gzflags @162
diff --git a/gzguts.h b/gzguts.h
index c226a09..8193451 100644
--- a/gzguts.h
+++ b/gzguts.h
@@ -31,9 +31,48 @@
31# define NO_GZCOMPRESS 31# define NO_GZCOMPRESS
32#endif 32#endif
33 33
34#ifdef _MSC_VER 34#if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550)
35# include <io.h> 35# ifndef HAVE_VSNPRINTF
36# define vsnprintf _vsnprintf 36# define HAVE_VSNPRINTF
37# endif
38#endif
39
40#if defined(__CYGWIN__)
41# ifndef HAVE_VSNPRINTF
42# define HAVE_VSNPRINTF
43# endif
44#endif
45
46#ifndef HAVE_VSNPRINTF
47# ifdef MSDOS
48/* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
49 but for now we just assume it doesn't. */
50# define NO_vsnprintf
51# endif
52# ifdef __TURBOC__
53# define NO_vsnprintf
54# endif
55# ifdef WIN32
56/* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
57# if !defined(vsnprintf) && !defined(NO_vsnprintf)
58# if !defined(_MSC_VER) || ( defined(_MSC_VER) && _MSC_VER < 1500 )
59# include <io.h>
60# define vsnprintf _vsnprintf
61# endif
62# endif
63# endif
64# ifdef __SASC
65# define NO_vsnprintf
66# endif
67# ifdef VMS
68# define NO_vsnprintf
69# endif
70# ifdef __OS400__
71# define NO_vsnprintf
72# endif
73# ifdef __MVS__
74# define NO_vsnprintf
75# endif
37#endif 76#endif
38 77
39#ifndef local 78#ifndef local
diff --git a/gzwrite.c b/gzwrite.c
index 8eeca4e..1d28807 100644
--- a/gzwrite.c
+++ b/gzwrite.c
@@ -536,3 +536,34 @@ int ZEXPORT gzclose_w(file)
536 free(state); 536 free(state);
537 return ret; 537 return ret;
538} 538}
539
540/* used by zlibVersion() to get the vsnprintf story from the horse's mouth */
541unsigned long ZEXPORT gzflags()
542{
543 unsigned long flags = 0;
544#if defined(STDC) || defined(Z_HAVE_STDARG_H)
545# ifdef NO_vsnprintf
546 flags += 1L << 25;
547# ifdef HAS_vsprintf_void
548 flags += 1L << 26;
549# endif
550# else
551# ifdef HAS_vsnprintf_void
552 flags += 1L << 26;
553# endif
554# endif
555#else
556 flags += 1L << 24;
557# ifdef NO_snprintf
558 flags += 1L << 25;
559# ifdef HAS_sprintf_void
560 flags += 1L << 26;
561# endif
562# else
563# ifdef HAS_snprintf_void
564 flags += 1L << 26;
565# endif
566# endif
567#endif
568 return flags;
569}
diff --git a/win32/zlib.def b/win32/zlib.def
index eee109f..93ea8bf 100644
--- a/win32/zlib.def
+++ b/win32/zlib.def
@@ -42,7 +42,6 @@ EXPORTS
42 gzputs 42 gzputs
43 gzgets 43 gzgets
44 gzputc 44 gzputc
45 gzgetc
46 gzungetc 45 gzungetc
47 gzflush 46 gzflush
48 gzseek 47 gzseek
@@ -78,3 +77,5 @@ EXPORTS
78 inflateSyncPoint 77 inflateSyncPoint
79 get_crc_table 78 get_crc_table
80 inflateUndermine 79 inflateUndermine
80 gzgetc_
81 gzflags
diff --git a/zconf.h b/zconf.h
index c8c2aaa..bcb7615 100644
--- a/zconf.h
+++ b/zconf.h
@@ -61,8 +61,10 @@
61# define gzdopen z_gzdopen 61# define gzdopen z_gzdopen
62# define gzeof z_gzeof 62# define gzeof z_gzeof
63# define gzerror z_gzerror 63# define gzerror z_gzerror
64# define gzflags z_gzflags
64# define gzflush z_gzflush 65# define gzflush z_gzflush
65# define gzgetc z_gzgetc 66# define gzgetc z_gzgetc
67# define gzgetc_ z_gzgetc_
66# define gzgets z_gzgets 68# define gzgets z_gzgets
67# define gzoffset z_gzoffset 69# define gzoffset z_gzoffset
68# define gzoffset64 z_gzoffset64 70# define gzoffset64 z_gzoffset64
@@ -422,14 +424,6 @@ typedef uLong FAR uLongf;
422#endif 424#endif
423#endif 425#endif
424 426
425#if defined(__OS400__)
426# define NO_vsnprintf
427#endif
428
429#if defined(__MVS__)
430# define NO_vsnprintf
431#endif
432
433/* MVS linker does not support external names larger than 8 bytes */ 427/* MVS linker does not support external names larger than 8 bytes */
434#if defined(__MVS__) 428#if defined(__MVS__)
435 #pragma map(deflateInit_,"DEIN") 429 #pragma map(deflateInit_,"DEIN")
diff --git a/zconf.h.cmakein b/zconf.h.cmakein
index 0a36a72..29680aa 100644
--- a/zconf.h.cmakein
+++ b/zconf.h.cmakein
@@ -63,8 +63,10 @@
63# define gzdopen z_gzdopen 63# define gzdopen z_gzdopen
64# define gzeof z_gzeof 64# define gzeof z_gzeof
65# define gzerror z_gzerror 65# define gzerror z_gzerror
66# define gzflags z_gzflags
66# define gzflush z_gzflush 67# define gzflush z_gzflush
67# define gzgetc z_gzgetc 68# define gzgetc z_gzgetc
69# define gzgetc_ z_gzgetc_
68# define gzgets z_gzgets 70# define gzgets z_gzgets
69# define gzoffset z_gzoffset 71# define gzoffset z_gzoffset
70# define gzoffset64 z_gzoffset64 72# define gzoffset64 z_gzoffset64
@@ -424,14 +426,6 @@ typedef uLong FAR uLongf;
424#endif 426#endif
425#endif 427#endif
426 428
427#if defined(__OS400__)
428# define NO_vsnprintf
429#endif
430
431#if defined(__MVS__)
432# define NO_vsnprintf
433#endif
434
435/* MVS linker does not support external names larger than 8 bytes */ 429/* MVS linker does not support external names larger than 8 bytes */
436#if defined(__MVS__) 430#if defined(__MVS__)
437 #pragma map(deflateInit_,"DEIN") 431 #pragma map(deflateInit_,"DEIN")
diff --git a/zconf.h.in b/zconf.h.in
index c8c2aaa..bcb7615 100644
--- a/zconf.h.in
+++ b/zconf.h.in
@@ -61,8 +61,10 @@
61# define gzdopen z_gzdopen 61# define gzdopen z_gzdopen
62# define gzeof z_gzeof 62# define gzeof z_gzeof
63# define gzerror z_gzerror 63# define gzerror z_gzerror
64# define gzflags z_gzflags
64# define gzflush z_gzflush 65# define gzflush z_gzflush
65# define gzgetc z_gzgetc 66# define gzgetc z_gzgetc
67# define gzgetc_ z_gzgetc_
66# define gzgets z_gzgets 68# define gzgets z_gzgets
67# define gzoffset z_gzoffset 69# define gzoffset z_gzoffset
68# define gzoffset64 z_gzoffset64 70# define gzoffset64 z_gzoffset64
@@ -422,14 +424,6 @@ typedef uLong FAR uLongf;
422#endif 424#endif
423#endif 425#endif
424 426
425#if defined(__OS400__)
426# define NO_vsnprintf
427#endif
428
429#if defined(__MVS__)
430# define NO_vsnprintf
431#endif
432
433/* MVS linker does not support external names larger than 8 bytes */ 427/* MVS linker does not support external names larger than 8 bytes */
434#if defined(__MVS__) 428#if defined(__MVS__)
435 #pragma map(deflateInit_,"DEIN") 429 #pragma map(deflateInit_,"DEIN")
diff --git a/zlib.h b/zlib.h
index 16b20ce..371af26 100644
--- a/zlib.h
+++ b/zlib.h
@@ -1660,6 +1660,7 @@ ZEXTERN const char * ZEXPORT zError OF((int));
1660ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp)); 1660ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
1661ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void)); 1661ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
1662ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int)); 1662ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
1663ZEXTERN unsigned long ZEXPORT gzflags OF((void));
1663 1664
1664#ifdef __cplusplus 1665#ifdef __cplusplus
1665} 1666}
diff --git a/zlib.map b/zlib.map
index f65a125..627133d 100644
--- a/zlib.map
+++ b/zlib.map
@@ -70,3 +70,8 @@ ZLIB_1.2.3.5 {
70ZLIB_1.2.5.1 { 70ZLIB_1.2.5.1 {
71 deflatePending; 71 deflatePending;
72} ZLIB_1.2.3.5; 72} ZLIB_1.2.3.5;
73
74ZLIB_1.2.5.2 {
75 gzflags;
76 gzgetc_;
77} ZLIB_1.2.5.1;
diff --git a/zutil.c b/zutil.c
index 2ccee81..8f697cc 100644
--- a/zutil.c
+++ b/zutil.c
@@ -85,31 +85,7 @@ uLong ZEXPORT zlibCompileFlags()
85#ifdef FASTEST 85#ifdef FASTEST
86 flags += 1L << 21; 86 flags += 1L << 21;
87#endif 87#endif
88#if defined(STDC) || defined(Z_HAVE_STDARG_H) 88 return flags + gzflags();
89# ifdef NO_vsnprintf
90 flags += 1L << 25;
91# ifdef HAS_vsprintf_void
92 flags += 1L << 26;
93# endif
94# else
95# ifdef HAS_vsnprintf_void
96 flags += 1L << 26;
97# endif
98# endif
99#else
100 flags += 1L << 24;
101# ifdef NO_snprintf
102 flags += 1L << 25;
103# ifdef HAS_sprintf_void
104 flags += 1L << 26;
105# endif
106# else
107# ifdef HAS_snprintf_void
108 flags += 1L << 26;
109# endif
110# endif
111#endif
112 return flags;
113} 89}
114 90
115#ifdef DEBUG 91#ifdef DEBUG
diff --git a/zutil.h b/zutil.h
index c199b20..86d64bc 100644
--- a/zutil.h
+++ b/zutil.h
@@ -177,41 +177,6 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
177 177
178 /* functions */ 178 /* functions */
179 179
180#if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550)
181# ifndef HAVE_VSNPRINTF
182# define HAVE_VSNPRINTF
183# endif
184#endif
185#if defined(__CYGWIN__)
186# ifndef HAVE_VSNPRINTF
187# define HAVE_VSNPRINTF
188# endif
189#endif
190#ifndef HAVE_VSNPRINTF
191# ifdef MSDOS
192 /* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
193 but for now we just assume it doesn't. */
194# define NO_vsnprintf
195# endif
196# ifdef __TURBOC__
197# define NO_vsnprintf
198# endif
199# ifdef WIN32
200 /* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
201# if !defined(vsnprintf) && !defined(NO_vsnprintf)
202# if !defined(_MSC_VER) || ( defined(_MSC_VER) && _MSC_VER < 1500 )
203# define vsnprintf _vsnprintf
204# endif
205# endif
206# endif
207# ifdef __SASC
208# define NO_vsnprintf
209# endif
210#endif
211#ifdef VMS
212# define NO_vsnprintf
213#endif
214
215#if defined(pyr) 180#if defined(pyr)
216# define NO_MEMCPY 181# define NO_MEMCPY
217#endif 182#endif