From 59ca2179ff8ef92e9e8351a11f1a92e7138364c2 Mon Sep 17 00:00:00 2001 From: Mark Adler Date: Fri, 9 Sep 2011 23:33:23 -0700 Subject: [PATCH] zlib 1.2.4-pre2 --- ChangeLog | 7 ++++++- Makefile | 2 +- Makefile.in | 9 +++++---- configure | 3 +++ contrib/infback9/inftree9.c | 2 +- contrib/inflate86/inffas86.c | 2 +- contrib/masmx86/match686.obj | Bin 3507 -> 0 bytes gzwrite.c | 2 +- inftrees.c | 2 +- make_vms.com | 2 +- win32/zlib.def | 6 ------ zlib.3 | 2 +- zlib.3.pdf | Bin 8687 -> 8689 bytes zlib.h | 2 +- 14 files changed, 22 insertions(+), 19 deletions(-) delete mode 100644 contrib/masmx86/match686.obj diff --git a/ChangeLog b/ChangeLog index 8b7afd1..1dea1d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ ChangeLog file for zlib -Changes in 1.2.4 (11 Mar 2010) +Changes in 1.2.4 (13 Mar 2010) - Fix VER3 extraction in configure for no fourth subversion - Update zlib.3, add docs to Makefile.in to make .pdf out of it - Add zlib.3.pdf to distribution @@ -25,6 +25,11 @@ Changes in 1.2.4 (11 Mar 2010) - Update win32/Makefile.msc, add ZLIB_VER_SUBREVISION [Rowe] - Fix memory leaks in gzclose_r() and gzclose_w(), file leak in gz_open() - Add contrib/gcc_gvmat64 for longest_match and inflate_fast [Vollant] +- Remove *64 functions from win32/zlib.def (they're not 64-bit yet) +- Fix bug in void-returning vsprintf() case in gzwrite.c +- Fix name change from inflate.h in contrib/inflate86/inffas86.c +- Check if temporary file exists before removing in make_vms.com [Zinser] +- Fix make install and uninstall for --static option Changes in 1.2.3.9 (21 Feb 2010) - Expunge gzio.c diff --git a/Makefile b/Makefile index 3839b42..6bba86c 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ all: - -@echo "Use ./configure first. Thank you." + -@echo "Please use ./configure first. Thank you." distclean: make -f Makefile.in distclean diff --git a/Makefile.in b/Makefile.in index efaec6f..5a2300a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -164,9 +164,10 @@ install-libs: $(LIBS) -@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi -@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi cp $(LIBS) $(DESTDIR)$(libdir) - cd $(DESTDIR)$(libdir); chmod 755 $(SHAREDLIB) ; chmod u=rw,go=r $(STATICLIB) + cd $(DESTDIR)$(libdir); chmod u=rw,go=r $(STATICLIB) -@(cd $(DESTDIR)$(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1 - cd $(DESTDIR)$(libdir); if test -f $(SHAREDLIBV); then \ + -@cd $(DESTDIR)$(libdir); if test "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \ + chmod 755 $(SHAREDLIBV); \ rm -f $(SHAREDLIB) $(SHAREDLIBM); \ ln -s $(SHAREDLIBV) $(SHAREDLIB); \ ln -s $(SHAREDLIBV) $(SHAREDLIBM); \ @@ -187,7 +188,7 @@ install: install-libs uninstall: cd $(DESTDIR)$(includedir); rm -f zlib.h zconf.h cd $(DESTDIR)$(libdir); rm -f libz.a; \ - if test -f $(SHAREDLIBV); then \ + if test "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \ rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \ fi cd $(DESTDIR)$(man3dir); rm -f zlib.3 @@ -218,7 +219,7 @@ maintainer-clean: distclean distclean: clean zconf docs rm -f Makefile zlib.pc -@rm -f .DS_Store - -@printf 'all:\n\t-@echo "Use ./configure first. Thank you."\n' > Makefile + -@printf 'all:\n\t-@echo "Please use ./configure first. Thank you."\n' > Makefile -@printf '\ndistclean:\n\tmake -f Makefile.in distclean\n' >> Makefile -@touch -r Makefile.in Makefile diff --git a/configure b/configure index d3ee355..672fd37 100755 --- a/configure +++ b/configure @@ -215,6 +215,9 @@ if test $shared -eq 0; then LDSHARED="$CC" ALL="static" TEST="all teststatic" + SHAREDLIB="" + SHAREDLIBV="" + SHAREDLIBM="" echo Building static library $STATICLIB version $VER with $CC. else ALL="static shared" diff --git a/contrib/infback9/inftree9.c b/contrib/infback9/inftree9.c index 8d15fdc..4e04db9 100644 --- a/contrib/infback9/inftree9.c +++ b/contrib/infback9/inftree9.c @@ -64,7 +64,7 @@ unsigned short FAR *work; static const unsigned short lext[31] = { /* Length codes 257..285 extra */ 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129, 130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132, - 133, 133, 133, 133, 144, 66, 199}; + 133, 133, 133, 133, 144, 198, 71}; static const unsigned short dbase[32] = { /* Distance codes 0..31 base */ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, diff --git a/contrib/inflate86/inffas86.c b/contrib/inflate86/inffas86.c index 6da7635..7292f67 100644 --- a/contrib/inflate86/inffas86.c +++ b/contrib/inflate86/inffas86.c @@ -113,7 +113,7 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */ ar.beg = ar.out - (start - strm->avail_out); ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT); ar.wsize = state->wsize; - ar.write = state->write; + ar.write = state->wnext; ar.window = state->window; ar.hold = state->hold; ar.bits = state->bits; diff --git a/contrib/masmx86/match686.obj b/contrib/masmx86/match686.obj deleted file mode 100644 index 2e4631f3760d9684027e638c5894411c8a6dcbd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3507 zcmb8xeQ*?a8Nl)9k|Tr-^bSY?E4ABpQ>{P@B|=ERLP%dI7eL-RrB}j{TgcH|Hr@*f zG?askZR470Eqzg@TCFc_b*4IFHQIJ8BvhPged$!p=%{G@1BBYrs;#3oexJR)-W~p< zJ9GDW_SxU={$6%}zl{WfGW^EynhiA~@00vipRxNheyp4ch&)}guc0Xo+w0@8OzeXE zg}W=H;b?u_-jUs9Z7dvXnk@493Xzjj@);9WNVwH6x2aHW8Nn>-Rk~@p%{On^IC#!- zH(5}(Q6D?!e z-@0v9Fft6-kq2jey*vSdk;U|pt!+n76qHLwQk!r z!9{J&!R+M0(dz7(v!56o4L&(BA(E{c9IZHZIy^rx__7QKoAqk*PAsqB-2D-+f1=jh zmazjfxmC5+Rx4d=omo3EF+n^>n>KV)Z_C*J1zMRxD`_5uy%tjVaxF|>pP;Z_nG*_^ zc3bJy0~PMr;Bo8LZ5_9bO*3NYrU*5rc<5KPNyf6BG#MrH!a3YXBSndXP?vl%5M%oDlXx``CDRjzqt0$^DAFC z_{jFU;Oio9l5fx(`I|oMx()KP{QPl|oaSCcJ^W+j`IVnwCBB4O^ry(PEx$y4Zckze ze}^;h_o#I_g_qzT@KXFEn)oVSfq%j}Jcn1|Yj`#O1?M5v&ebD*lWRoUm|KE>!=?Cl zY{9p2IlhA{@n6`6|Hd2fU0j1aNx5}MC*|}lorIf_*C2N@PR6asGnw0l(=dh?;Z6); z7lv^+PRDMXg$~ZfG`=6RI2ZTg6*z!bVh%0*B-Y^&UWNK%e;Dt@dH4Xf;X`;G9>MGJ z5xfB(!yEAlT#ZlRP55nGgWtgjj$k`Ji)-VT;#PAHJkTH}rGG>y&^O!}(O7`GCun+%<{m7WeUepJ6AL<)-2QnryfClcz zsdy*S_i_MdAP;A*77rqQE_dN2csG6k??DrXkUo}A;Ro?vq;KUu{0M#q7vlZ62oK{D zd;pvALHrm#ge&o3WDMjBNMFmNNT13V@#FX<+=!3iX8bbVf?q-UR=$e#p?nSF_&Dyu zC-8QB5_|CLNMFiRNT10!k+#dX@DP3%X|s$VZIkceFn%9tqdbGOO`b*CBu9}p$T6f1 zGK!zYG5j1J$0PVdJdMBd9Y-C*}@9WOu!u%0w&W6KkV{y>=HWuKlB%8VKiO{yVyz zo?Ui2)8U;hvt?4@tVk@KY1g^>2FHn)9dMl6V_kME9@s#w#OY%sE-tx@ zwlw86sjPB#PkXFCk<2E`FTg$5I(;&$^a6gvH`p1ekSbYtK_B~FENW#*AA5bGdN+o}0vzf~G$dFfvW_!7DKQiPrkuJbBa?XzoFVOtxv?K^gk&2jaDh8-_zdE1qvS-dY$}M`Yp|@ zB9(=)E)>Ah?`Ut<2SM+~xdQ7(f=j;9Qeeb=zUdFN-yiJd2 zRq{P>8Bv{|p##|#@Y7EWEtAjahlf6Y#ms8yc!gm+$d$c5-FKOXkcODc<&}UGyDgdeXHRB diff --git a/gzwrite.c b/gzwrite.c index 427840d..e8defc6 100644 --- a/gzwrite.c +++ b/gzwrite.c @@ -318,7 +318,7 @@ int ZEXPORTVA gzprintf (gzFile file, const char *format, ...) # ifdef HAS_vsprintf_void (void)vsprintf(state->in, format, va); va_end(va); - for (len = 0; len < state->in; len++) + for (len = 0; len < size; len++) if (state->in[len] == 0) break; # else len = vsprintf(state->in, format, va); diff --git a/inftrees.c b/inftrees.c index 3ee7d06..5bfc691 100644 --- a/inftrees.c +++ b/inftrees.c @@ -62,7 +62,7 @@ unsigned short FAR *work; 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; static const unsigned short lext[31] = { /* Length codes 257..285 extra */ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, - 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 66, 199}; + 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 198, 71}; static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, diff --git a/make_vms.com b/make_vms.com index deee87f..6576490 100644 --- a/make_vms.com +++ b/make_vms.com @@ -134,7 +134,7 @@ $ write aconf "#define ftello64 ftell" $ write aconf "#endif" $ close aconf_in $ close aconf -$ delete 'th';* +$ if f$search("''th'") .nes. "" then delete 'th';* $! Build the thing plain or with mms $! $ write sys$output "Compiling Zlib sources ..." diff --git a/win32/zlib.def b/win32/zlib.def index d247b79..03df8bf 100644 --- a/win32/zlib.def +++ b/win32/zlib.def @@ -68,12 +68,6 @@ EXPORTS inflateInit_ inflateInit2_ inflateBackInit_ - gzopen64 - gzseek64 - gztell64 - gzoffset64 - adler32_combine64 - crc32_combine64 zError inflateSyncPoint get_crc_table diff --git a/zlib.3 b/zlib.3 index 57f0307..c01df46 100644 --- a/zlib.3 +++ b/zlib.3 @@ -1,4 +1,4 @@ -.TH ZLIB 3 "11 March 2010" +.TH ZLIB 3 "13 March 2010" .SH NAME zlib \- compression/decompression library .SH SYNOPSIS diff --git a/zlib.3.pdf b/zlib.3.pdf index 3442d5b7416c606f64df0217e08162fd1ebfbd83..14121546ad69db8b1264157ede93b9a053fda34b 100644 GIT binary patch delta 4283 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 delta 4287 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