zlib 1.1.1
This commit is contained in:
parent
965fe72aed
commit
02b6cf579f
10
ChangeLog
10
ChangeLog
@ -1,7 +1,15 @@
|
|||||||
|
|
||||||
ChangeLog file for zlib
|
ChangeLog file for zlib
|
||||||
|
|
||||||
Changes in 1.1 (24 Feb 98)
|
Changes in 1.1.1 (27 Feb 98)
|
||||||
|
- fix macros _tr_tally_* in deflate.h for debug mode (Glenn Randers-Pehrson)
|
||||||
|
- remove block truncation heuristic which had very marginal effect for zlib
|
||||||
|
(smaller lit_bufsize than in gzip 1.2.4) and degraded a little the
|
||||||
|
compression ratio on some files. This also allows inlining _tr_tally for
|
||||||
|
matches in deflate_slow.
|
||||||
|
- added msdos/Makefile.w32 for WIN32 Microsoft Visual C++ (Bob Frazier)
|
||||||
|
|
||||||
|
Changes in 1.1.0 (24 Feb 98)
|
||||||
- do not return STREAM_END prematurely in inflate (John Bowler)
|
- do not return STREAM_END prematurely in inflate (John Bowler)
|
||||||
- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler)
|
- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler)
|
||||||
- compile with -DFASTEST to get compression code optimized for speed only
|
- compile with -DFASTEST to get compression code optimized for speed only
|
||||||
|
1
INDEX
1
INDEX
@ -13,6 +13,7 @@ descrip.mms makefile for Vax/VMS
|
|||||||
zlib.3 mini man page for zlib (volunteers to write full
|
zlib.3 mini man page for zlib (volunteers to write full
|
||||||
man pages from zlib.h welcome. write to jloup@gzip.org)
|
man pages from zlib.h welcome. write to jloup@gzip.org)
|
||||||
|
|
||||||
|
msdos/Makefile.w32 makefile for Microsoft Visual C++ 32-bit
|
||||||
msdos/Makefile.b32 makefile for Borland C++ 32-bit
|
msdos/Makefile.b32 makefile for Borland C++ 32-bit
|
||||||
msdos/Makefile.bor makefile for Borland C/C++ 16-bit
|
msdos/Makefile.bor makefile for Borland C/C++ 16-bit
|
||||||
msdos/Makefile.dj2 makefile for DJGPP 2.x
|
msdos/Makefile.dj2 makefile for DJGPP 2.x
|
||||||
|
2
Makefile
2
Makefile
@ -23,7 +23,7 @@ CFLAGS=-O
|
|||||||
LDFLAGS=-L. -lz
|
LDFLAGS=-L. -lz
|
||||||
LDSHARED=$(CC)
|
LDSHARED=$(CC)
|
||||||
|
|
||||||
VER=1.1.0
|
VER=1.1.1
|
||||||
LIBS=libz.a
|
LIBS=libz.a
|
||||||
SHAREDLIB=libz.so
|
SHAREDLIB=libz.so
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ CFLAGS=-O
|
|||||||
LDFLAGS=-L. -lz
|
LDFLAGS=-L. -lz
|
||||||
LDSHARED=$(CC)
|
LDSHARED=$(CC)
|
||||||
|
|
||||||
VER=1.1.0
|
VER=1.1.1
|
||||||
LIBS=libz.a
|
LIBS=libz.a
|
||||||
SHAREDLIB=libz.so
|
SHAREDLIB=libz.so
|
||||||
|
|
||||||
|
17
README
17
README
@ -1,4 +1,4 @@
|
|||||||
zlib 1.1.0 is a general purpose data compression library. All the code
|
zlib 1.1.1 is a general purpose data compression library. All the code
|
||||||
is thread safe. The data format used by the zlib library
|
is thread safe. The data format used by the zlib library
|
||||||
is described by RFCs (Request for Comments) 1950 to 1952 in the files
|
is described by RFCs (Request for Comments) 1950 to 1952 in the files
|
||||||
ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate
|
ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate
|
||||||
@ -25,15 +25,14 @@ Mark Nelson wrote an article about zlib for the Jan. 1997 issue of
|
|||||||
Dr. Dobb's Journal; a copy of the article is available in
|
Dr. Dobb's Journal; a copy of the article is available in
|
||||||
http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm
|
http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm
|
||||||
|
|
||||||
The changes made in version 1.1.0 are documented in the file ChangeLog.
|
The changes made in version 1.1.1 are documented in the file ChangeLog.
|
||||||
The main changes since 1.0.9 are:
|
The main changes since 1.1.0 are:
|
||||||
|
|
||||||
- do not return STREAM_END prematurely in inflate (John Bowler)
|
- fix macros _tr_tally_* in deflate.h for debug mode (Glenn Randers-Pehrson)
|
||||||
- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler)
|
- remove block truncation heuristic which had very marginal effect for zlib
|
||||||
- compile with -DFASTEST to get compression code optimized for speed only
|
(smaller lit_bufsize than in gzip 1.2.4) and degraded a little the
|
||||||
- in minigzip, try mmap'ing the input file first (Miguel Albrecht)
|
compression ratio on some files. This also allows inlining _tr_tally for
|
||||||
- increase size of I/O buffers in minigzip.c and gzio.c (not a big gain
|
matches in deflate_slow.
|
||||||
on Sun but significant on HP)
|
|
||||||
|
|
||||||
|
|
||||||
Unsupported third party contributions are provided in directory "contrib".
|
Unsupported third party contributions are provided in directory "contrib".
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
#include "deflate.h"
|
#include "deflate.h"
|
||||||
|
|
||||||
const char deflate_copyright[] =
|
const char deflate_copyright[] =
|
||||||
" deflate 1.1.0 Copyright 1995-1998 Jean-loup Gailly ";
|
" deflate 1.1.1 Copyright 1995-1998 Jean-loup Gailly ";
|
||||||
/*
|
/*
|
||||||
If you use the zlib library in a product, an acknowledgment is welcome
|
If you use the zlib library in a product, an acknowledgment is welcome
|
||||||
in the documentation of your product. If for some reason you cannot
|
in the documentation of your product. If for some reason you cannot
|
||||||
@ -1294,8 +1294,8 @@ local block_state deflate_slow(s, flush)
|
|||||||
|
|
||||||
check_match(s, s->strstart-1, s->prev_match, s->prev_length);
|
check_match(s, s->strstart-1, s->prev_match, s->prev_length);
|
||||||
|
|
||||||
bflush = _tr_tally(s, s->strstart -1 - s->prev_match,
|
_tr_tally_dist(s, s->strstart -1 - s->prev_match,
|
||||||
s->prev_length - MIN_MATCH);
|
s->prev_length - MIN_MATCH, bflush);
|
||||||
|
|
||||||
/* Insert in hash table all strings up to the end of the match.
|
/* Insert in hash table all strings up to the end of the match.
|
||||||
* strstart-1 and strstart are already inserted. If there is not
|
* strstart-1 and strstart are already inserted. If there is not
|
||||||
@ -1322,7 +1322,7 @@ local block_state deflate_slow(s, flush)
|
|||||||
*/
|
*/
|
||||||
Tracevv((stderr,"%c", s->window[s->strstart-1]));
|
Tracevv((stderr,"%c", s->window[s->strstart-1]));
|
||||||
_tr_tally_lit(s, s->window[s->strstart-1], bflush);
|
_tr_tally_lit(s, s->window[s->strstart-1], bflush);
|
||||||
if (bflush) {
|
if (bflush) {
|
||||||
FLUSH_BLOCK_ONLY(s, 0);
|
FLUSH_BLOCK_ONLY(s, 0);
|
||||||
}
|
}
|
||||||
s->strstart++;
|
s->strstart++;
|
||||||
|
@ -310,9 +310,9 @@ void _tr_stored_block OF((deflate_state *s, charf *buf, ulg stored_len,
|
|||||||
flush = (s->last_lit == s->lit_bufsize-1); \
|
flush = (s->last_lit == s->lit_bufsize-1); \
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
# define _tr_tally_lit(s, c, flush) _tr_tally(s, 0, c, flush)
|
# define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c)
|
||||||
# define _tr_tally_dist(s, distance, length, flush) \
|
# define _tr_tally_dist(s, distance, length, flush) \
|
||||||
_tr_tally(s, distance, length, flush)
|
flush = _tr_tally(s, distance, length)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
#include "inftrees.h"
|
#include "inftrees.h"
|
||||||
|
|
||||||
const char inflate_copyright[] =
|
const char inflate_copyright[] =
|
||||||
" inflate 1.1.0 Copyright 1995-1998 Mark Adler ";
|
" inflate 1.1.1 Copyright 1995-1998 Mark Adler ";
|
||||||
/*
|
/*
|
||||||
If you use the zlib library in a product, an acknowledgment is welcome
|
If you use the zlib library in a product, an acknowledgment is welcome
|
||||||
in the documentation of your product. If for some reason you cannot
|
in the documentation of your product. If for some reason you cannot
|
||||||
|
97
msdos/Makefile.w32
Normal file
97
msdos/Makefile.w32
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
# Makefile for zlib
|
||||||
|
# Microsoft 32-bit Visual C++ 4.0 or later (may work on earlier versions)
|
||||||
|
|
||||||
|
# To use, do "nmake /f makefile.w32"
|
||||||
|
|
||||||
|
# If you wish to reduce the memory requirements (default 256K for big
|
||||||
|
# objects plus a few K), you can add to CFLAGS below:
|
||||||
|
# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14
|
||||||
|
# See zconf.h for details about the memory requirements.
|
||||||
|
|
||||||
|
# ------------- Microsoft Visual C++ 4.0 and later -------------
|
||||||
|
MODEL=
|
||||||
|
CFLAGS=-Ox -GA3s -nologo -W3
|
||||||
|
CC=cl
|
||||||
|
LD=link
|
||||||
|
LDFLAGS=
|
||||||
|
O=.obj
|
||||||
|
|
||||||
|
# variables
|
||||||
|
OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
|
||||||
|
trees$(O)
|
||||||
|
OBJP1 = adler32$(O)+compress$(O)+crc32$(O)+gzio$(O)+uncompr$(O)+deflate$(O)+\
|
||||||
|
trees$(O)
|
||||||
|
OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
|
||||||
|
infutil$(O) inffast$(O)
|
||||||
|
OBJP2 = zutil$(O)+inflate$(O)+infblock$(O)+inftrees$(O)+infcodes$(O)+\
|
||||||
|
infutil$(O)+inffast$(O)
|
||||||
|
|
||||||
|
all: zlib.lib example.exe minigzip.exe
|
||||||
|
|
||||||
|
adler32.obj: adler32.c zutil.h zlib.h zconf.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
compress.obj: compress.c zlib.h zconf.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
crc32.obj: crc32.c zutil.h zlib.h zconf.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
gzio.obj: gzio.c zutil.h zlib.h zconf.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
|
||||||
|
infcodes.h infutil.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
|
||||||
|
infcodes.h inffast.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
uncompr.obj: uncompr.c zlib.h zconf.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
zutil.obj: zutil.c zutil.h zlib.h zconf.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
example.obj: example.c zlib.h zconf.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
minigzip.obj: minigzip.c zlib.h zconf.h
|
||||||
|
$(CC) -c $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
zlib.lib: $(OBJ1) $(OBJ2)
|
||||||
|
if exist zlib.lib del zlib.lib
|
||||||
|
lib /OUT:zlib.lib $(OBJ1) $(OBJ2)
|
||||||
|
|
||||||
|
example.exe: example.obj zlib.lib
|
||||||
|
$(LD) $(LDFLAGS) example.obj zlib.lib /OUT:example.exe /SUBSYSTEM:CONSOLE
|
||||||
|
|
||||||
|
minigzip.exe: minigzip.obj zlib.lib
|
||||||
|
$(LD) $(LDFLAGS) minigzip.obj zlib.lib /OUT:minigzip.exe /SUBSYSTEM:CONSOLE
|
||||||
|
|
||||||
|
test: example.exe minigzip.exe
|
||||||
|
example
|
||||||
|
echo hello world | minigzip | minigzip -d
|
||||||
|
|
||||||
|
#clean:
|
||||||
|
# del *.obj
|
||||||
|
# del *.exe
|
@ -8,7 +8,7 @@ SUBSYSTEM WINDOWS
|
|||||||
|
|
||||||
STUB 'WINSTUB.EXE'
|
STUB 'WINSTUB.EXE'
|
||||||
|
|
||||||
VERSION 1.1
|
VERSION 1.11
|
||||||
|
|
||||||
CODE EXECUTE READ
|
CODE EXECUTE READ
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
#define IDR_VERSION1 1
|
#define IDR_VERSION1 1
|
||||||
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
|
IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
|
||||||
FILEVERSION 1,1,0,0
|
FILEVERSION 1,1,1,0
|
||||||
PRODUCTVERSION 1,1,0,0
|
PRODUCTVERSION 1,1,1,0
|
||||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
FILEFLAGS 0
|
FILEFLAGS 0
|
||||||
FILEOS VOS_DOS_WINDOWS32
|
FILEOS VOS_DOS_WINDOWS32
|
||||||
@ -17,7 +17,7 @@ BEGIN
|
|||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "FileDescription", "zlib data compression library\0"
|
VALUE "FileDescription", "zlib data compression library\0"
|
||||||
VALUE "FileVersion", "1.1.0\0"
|
VALUE "FileVersion", "1.1.1\0"
|
||||||
VALUE "InternalName", "zlib\0"
|
VALUE "InternalName", "zlib\0"
|
||||||
VALUE "OriginalFilename", "zlib.dll\0"
|
VALUE "OriginalFilename", "zlib.dll\0"
|
||||||
VALUE "ProductName", "ZLib.DLL\0"
|
VALUE "ProductName", "ZLib.DLL\0"
|
||||||
|
4
trees.c
4
trees.c
@ -1042,8 +1042,9 @@ int _tr_tally (s, dist, lc)
|
|||||||
s->dyn_dtree[d_code(dist)].Freq++;
|
s->dyn_dtree[d_code(dist)].Freq++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef TRUNCATE_BLOCK
|
||||||
/* Try to guess if it is profitable to stop the current block here */
|
/* Try to guess if it is profitable to stop the current block here */
|
||||||
if (s->level > 2 && (s->last_lit & 0xfff) == 0) {
|
if ((s->last_lit & 0x1fff) == 0 && s->level > 2) {
|
||||||
/* Compute an upper bound for the compressed length */
|
/* Compute an upper bound for the compressed length */
|
||||||
ulg out_length = (ulg)s->last_lit*8L;
|
ulg out_length = (ulg)s->last_lit*8L;
|
||||||
ulg in_length = (ulg)((long)s->strstart - s->block_start);
|
ulg in_length = (ulg)((long)s->strstart - s->block_start);
|
||||||
@ -1058,6 +1059,7 @@ int _tr_tally (s, dist, lc)
|
|||||||
100L - out_length*100L/in_length));
|
100L - out_length*100L/in_length));
|
||||||
if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
|
if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return (s->last_lit == s->lit_bufsize-1);
|
return (s->last_lit == s->lit_bufsize-1);
|
||||||
/* We avoid equality with lit_bufsize because of wraparound at 64K
|
/* We avoid equality with lit_bufsize because of wraparound at 64K
|
||||||
* on 16 bit machines and because stored blocks are restricted to
|
* on 16 bit machines and because stored blocks are restricted to
|
||||||
|
4
zlib.3
4
zlib.3
@ -1,4 +1,4 @@
|
|||||||
.TH ZLIB 3 "24 February 1998"
|
.TH ZLIB 3 "27 February 1998"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
zlib \- compression/decompression library
|
zlib \- compression/decompression library
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@ -81,7 +81,7 @@ These documents are also available in other formats from:
|
|||||||
.IP
|
.IP
|
||||||
ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
|
ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Version 1.1.0
|
Version 1.1.1
|
||||||
Copyright (C) 1995-1998 Jean-loup Gailly (jloup@gzip.org)
|
Copyright (C) 1995-1998 Jean-loup Gailly (jloup@gzip.org)
|
||||||
and Mark Adler (madler@alumni.caltech.edu).
|
and Mark Adler (madler@alumni.caltech.edu).
|
||||||
.LP
|
.LP
|
||||||
|
4
zlib.h
4
zlib.h
@ -1,5 +1,5 @@
|
|||||||
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
||||||
version 1.1.0, Feb 24th, 1998
|
version 1.1.1, Feb 27th, 1998
|
||||||
|
|
||||||
Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler
|
Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ extern "C" {
|
|||||||
|
|
||||||
#include "zconf.h"
|
#include "zconf.h"
|
||||||
|
|
||||||
#define ZLIB_VERSION "1.1.0"
|
#define ZLIB_VERSION "1.1.1"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The 'zlib' compression library provides in-memory compression and
|
The 'zlib' compression library provides in-memory compression and
|
||||||
|
Loading…
Reference in New Issue
Block a user