zlib 1.2.1.1
This commit is contained in:
parent
7a33a861d1
commit
f0e76a6634
@ -1,6 +1,13 @@
|
|||||||
|
|
||||||
ChangeLog file for zlib
|
ChangeLog file for zlib
|
||||||
|
|
||||||
|
Changes in 1.2.1.1 (9 January 2004)
|
||||||
|
- Updated email address in README
|
||||||
|
- Several FAQ updates
|
||||||
|
- Fixed a big fat bug in inftrees.c that prevented decoding valid
|
||||||
|
dynamic blocks with only literals and no distance codes.
|
||||||
|
- Add a note to puff.c on no distance codes case.
|
||||||
|
|
||||||
Changes in 1.2.1 (17 November 2003)
|
Changes in 1.2.1 (17 November 2003)
|
||||||
- Remove a tab in contrib/gzappend/gzappend.c
|
- Remove a tab in contrib/gzappend/gzappend.c
|
||||||
- Update some interfaces in contrib for new zlib functions
|
- Update some interfaces in contrib for new zlib functions
|
||||||
|
88
FAQ
88
FAQ
@ -21,18 +21,18 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
3. Where can I get a Visual Basic interface to zlib?
|
3. Where can I get a Visual Basic interface to zlib?
|
||||||
|
|
||||||
See
|
See
|
||||||
* http://www.winimage.com/zLibDll/
|
|
||||||
* http://www.dogma.net/markn/articles/zlibtool/zlibtool.htm
|
* http://www.dogma.net/markn/articles/zlibtool/zlibtool.htm
|
||||||
* contrib/visual-basic.txt in the zlib distribution
|
* contrib/visual-basic.txt in the zlib distribution
|
||||||
|
* win32/DLL_FAQ.txt in the zlib distribution
|
||||||
|
|
||||||
4. compress() returns Z_BUF_ERROR
|
4. compress() returns Z_BUF_ERROR.
|
||||||
|
|
||||||
Make sure that before the call of compress, the length of the compressed
|
Make sure that before the call of compress, the length of the compressed
|
||||||
buffer is equal to the total size of the compressed buffer and not
|
buffer is equal to the total size of the compressed buffer and not
|
||||||
zero. For Visual Basic, check that this parameter is passed by reference
|
zero. For Visual Basic, check that this parameter is passed by reference
|
||||||
("as any"), not by value ("as long").
|
("as any"), not by value ("as long").
|
||||||
|
|
||||||
5. deflate() or inflate() returns Z_BUF_ERROR
|
5. deflate() or inflate() returns Z_BUF_ERROR.
|
||||||
|
|
||||||
Before making the call, make sure that avail_in and avail_out are not
|
Before making the call, make sure that avail_in and avail_out are not
|
||||||
zero. When setting the parameter flush equal to Z_FINISH, also make sure
|
zero. When setting the parameter flush equal to Z_FINISH, also make sure
|
||||||
@ -47,8 +47,8 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
It's in zlib.h for the moment, and Francis S. Lin has converted it to a
|
It's in zlib.h for the moment, and Francis S. Lin has converted it to a
|
||||||
web page zlib.html. Volunteers to transform this to Unix-style man pages,
|
web page zlib.html. Volunteers to transform this to Unix-style man pages,
|
||||||
please contact Jean-loup Gailly (jloup@gzip.org). Examples of zlib usage
|
please contact us (zlib@gzip.org). Examples of zlib usage are in the files
|
||||||
are in the files example.c and minigzip.c.
|
example.c and minigzip.c.
|
||||||
|
|
||||||
7. Why don't you use GNU autoconf or libtool or ...?
|
7. Why don't you use GNU autoconf or libtool or ...?
|
||||||
|
|
||||||
@ -77,7 +77,8 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
11. Can zlib handle .zip archives?
|
11. Can zlib handle .zip archives?
|
||||||
|
|
||||||
See the directory contrib/minizip in the zlib distribution.
|
Not by itself, no. See the directory contrib/minizip in the zlib
|
||||||
|
distribution.
|
||||||
|
|
||||||
12. Can zlib handle .Z files?
|
12. Can zlib handle .Z files?
|
||||||
|
|
||||||
@ -92,6 +93,8 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
14. How do I install a shared zlib library on Unix?
|
14. How do I install a shared zlib library on Unix?
|
||||||
|
|
||||||
|
After the above, then:
|
||||||
|
|
||||||
make install
|
make install
|
||||||
|
|
||||||
However, many flavors of Unix come with a shared zlib already installed.
|
However, many flavors of Unix come with a shared zlib already installed.
|
||||||
@ -99,12 +102,31 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
trying to install it, you may want to check if it's already there! If you
|
trying to install it, you may want to check if it's already there! If you
|
||||||
can #include <zlib.h>, it's there. The -lz option will probably link to it.
|
can #include <zlib.h>, it's there. The -lz option will probably link to it.
|
||||||
|
|
||||||
15. I have a question about OttoPDF
|
15. I have a question about OttoPDF.
|
||||||
|
|
||||||
We are not the authors of OttoPDF. The real author is on the OttoPDF web
|
We are not the authors of OttoPDF. The real author is on the OttoPDF web
|
||||||
site Joel Hainley jhainley@myndkryme.com.
|
site: Joel Hainley, jhainley@myndkryme.com.
|
||||||
|
|
||||||
16. Why does gzip give an error on a file I make with compress/deflate?
|
16. Can zlib decode Flate data in an Adobe PDF file?
|
||||||
|
|
||||||
|
Yes. See http://www.fastio.com/ (ClibPDF), or http://www.pdflib.com/ .
|
||||||
|
To modify PDF forms, see http://sourceforge.net/projects/acroformtool/ .
|
||||||
|
|
||||||
|
17. Why am I getting this "register_frame_info not found" error on Solaris?
|
||||||
|
|
||||||
|
After installing zlib 1.1.4 on Solaris 2.6, running applications using zlib
|
||||||
|
generates an error such as:
|
||||||
|
|
||||||
|
ld.so.1: rpm: fatal: relocation error: file /usr/local/lib/libz.so:
|
||||||
|
symbol __register_frame_info: referenced symbol not found
|
||||||
|
|
||||||
|
The symbol __register_frame_info is not part of zlib, it is generated by
|
||||||
|
the C compiler (cc or gcc). You must recompile applications using zlib
|
||||||
|
which have this problem. This problem is specific to Solaris. See
|
||||||
|
http://www.sunfreeware.com for Solaris versions of zlib and applications
|
||||||
|
using zlib.
|
||||||
|
|
||||||
|
18. Why does gzip give an error on a file I make with compress/deflate?
|
||||||
|
|
||||||
The compress and deflate functions produce data in the zlib format, which
|
The compress and deflate functions produce data in the zlib format, which
|
||||||
is different and incompatible with the gzip format. The gz* functions in
|
is different and incompatible with the gzip format. The gz* functions in
|
||||||
@ -112,7 +134,7 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
formats use the same compressed data format internally, but have different
|
formats use the same compressed data format internally, but have different
|
||||||
headers and trailers around the compressed data.
|
headers and trailers around the compressed data.
|
||||||
|
|
||||||
17. Ok, so why are there two different formats?
|
19. Ok, so why are there two different formats?
|
||||||
|
|
||||||
The gzip format was designed to retain the directory information about
|
The gzip format was designed to retain the directory information about
|
||||||
a single file, such as the name and last modification date. The zlib
|
a single file, such as the name and last modification date. The zlib
|
||||||
@ -120,7 +142,7 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
channel applications, and has a much more compact header and trailer and
|
channel applications, and has a much more compact header and trailer and
|
||||||
uses a faster integrity check than gzip.
|
uses a faster integrity check than gzip.
|
||||||
|
|
||||||
18. Well that's nice, but how do I make a gzip file in memory?
|
20. Well that's nice, but how do I make a gzip file in memory?
|
||||||
|
|
||||||
You can request that deflate write the gzip format instead of the zlib
|
You can request that deflate write the gzip format instead of the zlib
|
||||||
format using deflateInit2(). You can also request that inflate decode
|
format using deflateInit2(). You can also request that inflate decode
|
||||||
@ -133,7 +155,7 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
function and roll your own gzip encoding and decoding. Read the gzip
|
function and roll your own gzip encoding and decoding. Read the gzip
|
||||||
RFC 1952 for details of the header and trailer format.
|
RFC 1952 for details of the header and trailer format.
|
||||||
|
|
||||||
19. Is zlib thread-safe?
|
21. Is zlib thread-safe?
|
||||||
|
|
||||||
Yes. However any library routines that zlib uses and any application-
|
Yes. However any library routines that zlib uses and any application-
|
||||||
provided memory allocation routines must also be thread-safe. zlib's gz*
|
provided memory allocation routines must also be thread-safe. zlib's gz*
|
||||||
@ -144,15 +166,15 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
Of course, you should only operate on any given zlib or gzip stream from a
|
Of course, you should only operate on any given zlib or gzip stream from a
|
||||||
single thread at a time.
|
single thread at a time.
|
||||||
|
|
||||||
20. Can I use zlib in my commercial application?
|
22. Can I use zlib in my commercial application?
|
||||||
|
|
||||||
Yes. Please read the license in zlib.h.
|
Yes. Please read the license in zlib.h.
|
||||||
|
|
||||||
21. Is zlib under the GNU license?
|
23. Is zlib under the GNU license?
|
||||||
|
|
||||||
No. Please read the license in zlib.h.
|
No. Please read the license in zlib.h.
|
||||||
|
|
||||||
22. The license says that altered source versions must be "plainly marked". So
|
24. The license says that altered source versions must be "plainly marked". So
|
||||||
what exactly do I need to do to meet that requirement?
|
what exactly do I need to do to meet that requirement?
|
||||||
|
|
||||||
You need to change the ZLIB_VERSION and ZLIB_VERNUM #defines in zlib.h. In
|
You need to change the ZLIB_VERSION and ZLIB_VERNUM #defines in zlib.h. In
|
||||||
@ -175,24 +197,24 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
ZLIB_VERSION and ZLIB_VERNUM and note the origin and nature of the changes
|
ZLIB_VERSION and ZLIB_VERNUM and note the origin and nature of the changes
|
||||||
in zlib.h as you would for a full source distribution.
|
in zlib.h as you would for a full source distribution.
|
||||||
|
|
||||||
23. Will zlib work on a big-endian or little-endian architecture, and can I
|
25. Will zlib work on a big-endian or little-endian architecture, and can I
|
||||||
exchange compressed data between them?
|
exchange compressed data between them?
|
||||||
|
|
||||||
Yes and yes.
|
Yes and yes.
|
||||||
|
|
||||||
24. Will zlib work on a 64-bit machine?
|
26. Will zlib work on a 64-bit machine?
|
||||||
|
|
||||||
It should. It has been tested on 64-bit machines, and has no dependence
|
It should. It has been tested on 64-bit machines, and has no dependence
|
||||||
on any data types being limited to 32-bits in length. If you have any
|
on any data types being limited to 32-bits in length. If you have any
|
||||||
difficulties, please provide a complete problem report to zlib@gzip.org
|
difficulties, please provide a complete problem report to zlib@gzip.org
|
||||||
|
|
||||||
25. Will zlib decompress data from the PKWare Data Compression Library?
|
27. Will zlib decompress data from the PKWare Data Compression Library?
|
||||||
|
|
||||||
No. The PKWare DCL uses a completely different compressed data format
|
No. The PKWare DCL uses a completely different compressed data format
|
||||||
than does PKZIP and zlib. However, you can look in zlib's contrib/blast
|
than does PKZIP and zlib. However, you can look in zlib's contrib/blast
|
||||||
directory for a possible solution to your problem.
|
directory for a possible solution to your problem.
|
||||||
|
|
||||||
26. Can I access data randomly in a compressed stream?
|
28. Can I access data randomly in a compressed stream?
|
||||||
|
|
||||||
No, not without some preparation. If when compressing you periodically
|
No, not without some preparation. If when compressing you periodically
|
||||||
use Z_FULL_FLUSH, carefully write all the pending data at those points,
|
use Z_FULL_FLUSH, carefully write all the pending data at those points,
|
||||||
@ -200,27 +222,27 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
at those points. You have to be careful to not use Z_FULL_FLUSH too
|
at those points. You have to be careful to not use Z_FULL_FLUSH too
|
||||||
often, since it can significantly degrade compression.
|
often, since it can significantly degrade compression.
|
||||||
|
|
||||||
27. Does zlib work on MVS, OS/390, CICS, etc.?
|
29. Does zlib work on MVS, OS/390, CICS, etc.?
|
||||||
|
|
||||||
We don't know for sure. We have heard occasional reports of success on
|
We don't know for sure. We have heard occasional reports of success on
|
||||||
these systems. If you do use it on one of these, please provide us with
|
these systems. If you do use it on one of these, please provide us with
|
||||||
a report, instructions, and patches that we can reference when we get
|
a report, instructions, and patches that we can reference when we get
|
||||||
these questions. Thanks.
|
these questions. Thanks.
|
||||||
|
|
||||||
28. Is there some simpler, easier to read version of inflate I can look at
|
30. Is there some simpler, easier to read version of inflate I can look at
|
||||||
to understand the deflate format?
|
to understand the deflate format?
|
||||||
|
|
||||||
First off, you should read RFC 1951. Second, yes. Look in zlib's
|
First off, you should read RFC 1951. Second, yes. Look in zlib's
|
||||||
contrib/puff directory.
|
contrib/puff directory.
|
||||||
|
|
||||||
29. Does zlib infringe on any patents?
|
31. Does zlib infringe on any patents?
|
||||||
|
|
||||||
As far as we know, no. In fact, that was originally the whole point behind
|
As far as we know, no. In fact, that was originally the whole point behind
|
||||||
zlib. Look here for some more information:
|
zlib. Look here for some more information:
|
||||||
|
|
||||||
http://www.gzip.org/#faq11
|
http://www.gzip.org/#faq11
|
||||||
|
|
||||||
30. Can zlib work with greater than 4 GB of data?
|
32. Can zlib work with greater than 4 GB of data?
|
||||||
|
|
||||||
Yes. inflate() and deflate() will process any amount of data correctly.
|
Yes. inflate() and deflate() will process any amount of data correctly.
|
||||||
Each call of inflate() or deflate() is limited to input and output chunks
|
Each call of inflate() or deflate() is limited to input and output chunks
|
||||||
@ -238,7 +260,7 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
only if the compiler's "long" type is 32 bits. If the compiler's "long"
|
only if the compiler's "long" type is 32 bits. If the compiler's "long"
|
||||||
type is 64 bits, then the limit is 16 exabytes.
|
type is 64 bits, then the limit is 16 exabytes.
|
||||||
|
|
||||||
31. Does zlib have any security vulnerabilities?
|
33. Does zlib have any security vulnerabilities?
|
||||||
|
|
||||||
The only one that we are aware of is potentially in gzprintf(). If zlib
|
The only one that we are aware of is potentially in gzprintf(). If zlib
|
||||||
is compiled to use sprintf() or vsprintf(), then there is no protection
|
is compiled to use sprintf() or vsprintf(), then there is no protection
|
||||||
@ -258,35 +280,35 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
Note that you should be using the most recent version of zlib. Versions
|
Note that you should be using the most recent version of zlib. Versions
|
||||||
1.1.3 and before were subject to a double-free vulnerability.
|
1.1.3 and before were subject to a double-free vulnerability.
|
||||||
|
|
||||||
32. Is there a Java version of zlib?
|
34. Is there a Java version of zlib?
|
||||||
|
|
||||||
Probably what you want is to use zlib in Java. zlib is already included
|
Probably what you want is to use zlib in Java. zlib is already included
|
||||||
as part of the Java SDK in the java.util.zip package. If you really want
|
as part of the Java SDK in the java.util.zip package. If you really want
|
||||||
a version of zlib written in the Java language, look on the zlib home
|
a version of zlib written in the Java language, look on the zlib home
|
||||||
page for links: http://www.zlib.org/
|
page for links: http://www.zlib.org/
|
||||||
|
|
||||||
33. I get this or that compiler or source-code scanner warning when I crank it
|
35. I get this or that compiler or source-code scanner warning when I crank it
|
||||||
up to maximally-pendantic. Can't you guys write proper code?
|
up to maximally-pedantic. Can't you guys write proper code?
|
||||||
|
|
||||||
Many years ago, we gave up attempting to avoid warnings on every compiler
|
Many years ago, we gave up attempting to avoid warnings on every compiler
|
||||||
in the universe. It just got to be a waste of time, and some compilers
|
in the universe. It just got to be a waste of time, and some compilers
|
||||||
were downright silly. So now, we simply make sure that the code always
|
were downright silly. So now, we simply make sure that the code always
|
||||||
works.
|
works.
|
||||||
|
|
||||||
34. Will zlib read the (insert any ancient or arcane format here) compressed
|
36. Will zlib read the (insert any ancient or arcane format here) compressed
|
||||||
data format?
|
data format?
|
||||||
|
|
||||||
Probably not. Look in the comp.compression FAQ for pointers to various
|
Probably not. Look in the comp.compression FAQ for pointers to various
|
||||||
formats and associated software.
|
formats and associated software.
|
||||||
|
|
||||||
35. How can I encrypt/decrypt zip files with zlib?
|
37. How can I encrypt/decrypt zip files with zlib?
|
||||||
|
|
||||||
zlib doesn't support encryption. The original PKZIP encryption is very weak
|
zlib doesn't support encryption. The original PKZIP encryption is very weak
|
||||||
and can be broken with freely available programs. To get strong encryption,
|
and can be broken with freely available programs. To get strong encryption,
|
||||||
use gpg ( http://www.gnupg.org/ ) which already includes zlib compression.
|
use GnuPG, http://www.gnupg.org/ , which already includes zlib compression.
|
||||||
For PKZIP compatible "encryption", look at http://www.info-zip.org/
|
For PKZIP compatible "encryption", look at http://www.info-zip.org/
|
||||||
|
|
||||||
36. What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings?
|
38. What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings?
|
||||||
|
|
||||||
"gzip" is the gzip format, and "deflate" is the zlib format. They should
|
"gzip" is the gzip format, and "deflate" is the zlib format. They should
|
||||||
probably have called the second one "zlib" instead to avoid confusion
|
probably have called the second one "zlib" instead to avoid confusion
|
||||||
@ -302,14 +324,14 @@ The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
|
|||||||
|
|
||||||
Bottom line: use the gzip format for HTTP 1.1 encoding.
|
Bottom line: use the gzip format for HTTP 1.1 encoding.
|
||||||
|
|
||||||
37. Does zlib support the new "Deflate64" format introduced by PKWare?
|
39. Does zlib support the new "Deflate64" format introduced by PKWare?
|
||||||
|
|
||||||
No. PKWare has apparently decided to keep that format proprietary, since
|
No. PKWare has apparently decided to keep that format proprietary, since
|
||||||
they have not documented it as they have previous compression formats.
|
they have not documented it as they have previous compression formats.
|
||||||
In any case, the compression improvements are so modest compared to other
|
In any case, the compression improvements are so modest compared to other
|
||||||
more modern approaches, that it's not worth the effort to implement.
|
more modern approaches, that it's not worth the effort to implement.
|
||||||
|
|
||||||
38. Can you please sign these lengthy legal documents and fax them back to us
|
40. Can you please sign these lengthy legal documents and fax them back to us
|
||||||
so that we can use your software in our product?
|
so that we can use your software in our product?
|
||||||
|
|
||||||
No. Go away. Shoo.
|
No. Go away. Shoo.
|
||||||
|
2
Makefile
2
Makefile
@ -30,7 +30,7 @@ CPP=$(CC) -E
|
|||||||
|
|
||||||
LIBS=libz.a
|
LIBS=libz.a
|
||||||
SHAREDLIB=libz.so
|
SHAREDLIB=libz.so
|
||||||
SHAREDLIBV=libz.so.1.2.1
|
SHAREDLIBV=libz.so.1.2.1.1
|
||||||
SHAREDLIBM=libz.so.1
|
SHAREDLIBM=libz.so.1
|
||||||
|
|
||||||
AR=ar rc
|
AR=ar rc
|
||||||
|
@ -30,7 +30,7 @@ CPP=$(CC) -E
|
|||||||
|
|
||||||
LIBS=libz.a
|
LIBS=libz.a
|
||||||
SHAREDLIB=libz.so
|
SHAREDLIB=libz.so
|
||||||
SHAREDLIBV=libz.so.1.2.1
|
SHAREDLIBV=libz.so.1.2.1.1
|
||||||
SHAREDLIBM=libz.so.1
|
SHAREDLIBM=libz.so.1
|
||||||
|
|
||||||
AR=ar rc
|
AR=ar rc
|
||||||
|
6
README
6
README
@ -1,6 +1,6 @@
|
|||||||
ZLIB DATA COMPRESSION LIBRARY
|
ZLIB DATA COMPRESSION LIBRARY
|
||||||
|
|
||||||
zlib 1.2.1 is a general purpose data compression library. All the code is
|
zlib 1.2.1.1 is a general purpose data compression library. All the code is
|
||||||
thread safe. The data format used by the zlib library is described by RFCs
|
thread safe. The data format used by the zlib library is described by RFCs
|
||||||
(Request for Comments) 1950 to 1952 in the files
|
(Request for Comments) 1950 to 1952 in the files
|
||||||
http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
|
http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
|
||||||
@ -34,7 +34,7 @@ Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
|
|||||||
issue of Dr. Dobb's Journal; a copy of the article is available in
|
issue of Dr. Dobb's Journal; a copy of the article is available in
|
||||||
http://dogma.net/markn/articles/zlibtool/zlibtool.htm
|
http://dogma.net/markn/articles/zlibtool/zlibtool.htm
|
||||||
|
|
||||||
The changes made in version 1.2.1 are documented in the file ChangeLog.
|
The changes made in version 1.2.1.1 are documented in the file ChangeLog.
|
||||||
|
|
||||||
Unsupported third party contributions are provided in directory "contrib".
|
Unsupported third party contributions are provided in directory "contrib".
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ A Perl interface to zlib written by Paul Marquess <pmqs@cpan.org> is in the
|
|||||||
CPAN (Comprehensive Perl Archive Network) sites
|
CPAN (Comprehensive Perl Archive Network) sites
|
||||||
http://www.cpan.org/modules/by-module/Compress/
|
http://www.cpan.org/modules/by-module/Compress/
|
||||||
|
|
||||||
A Python interface to zlib written by A.M. Kuchling <amk@magnet.com> is
|
A Python interface to zlib written by A.M. Kuchling <amk@amk.ca> is
|
||||||
available in Python 1.5 and later versions, see
|
available in Python 1.5 and later versions, see
|
||||||
http://www.python.org/doc/lib/module-zlib.html
|
http://www.python.org/doc/lib/module-zlib.html
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
* ZLIB.INC - Interface to the general purpose compression library
|
* ZLIB.INC - Interface to the general purpose compression library
|
||||||
*
|
*
|
||||||
* ILE RPG400 version by Patrick Monnerat, DATASPHERE.
|
* ILE RPG400 version by Patrick Monnerat, DATASPHERE.
|
||||||
* Version 1.2.1
|
* Version 1.2.1.1
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* WARNING:
|
* WARNING:
|
||||||
@ -20,8 +20,8 @@
|
|||||||
* Constants
|
* Constants
|
||||||
**************************************************************************
|
**************************************************************************
|
||||||
*
|
*
|
||||||
D ZLIB_VERSION C '1.2.1' Header's version
|
D ZLIB_VERSION C '1.2.1.1' Header's version
|
||||||
D ZLIB_VERNUM C X'1210'
|
D ZLIB_VERNUM C X'1211'
|
||||||
*
|
*
|
||||||
D Z_NO_FLUSH C 0
|
D Z_NO_FLUSH C 0
|
||||||
D Z_SYNC_FLUSH C 2
|
D Z_SYNC_FLUSH C 2
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#define MAXBITS 15
|
#define MAXBITS 15
|
||||||
|
|
||||||
const char inflate9_copyright[] =
|
const char inflate9_copyright[] =
|
||||||
" inflate9 1.2.1 Copyright 1995-2003 Mark Adler ";
|
" inflate9 1.2.1.1 Copyright 1995-2003 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
|
||||||
@ -64,7 +64,7 @@ unsigned short FAR *work;
|
|||||||
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
|
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
|
||||||
128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
|
128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
|
||||||
130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
|
130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
|
||||||
133, 133, 133, 133, 144, 76, 66};
|
133, 133, 133, 133, 144, 202, 196};
|
||||||
static const unsigned short dbase[32] = { /* Distance codes 0..31 base */
|
static const unsigned short dbase[32] = { /* Distance codes 0..31 base */
|
||||||
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49,
|
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49,
|
||||||
65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
|
65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* puff.c
|
* puff.c
|
||||||
* Copyright (C) 2002, 2003 Mark Adler
|
* Copyright (C) 2002-2004 Mark Adler
|
||||||
* For conditions of distribution and use, see copyright notice in puff.h
|
* For conditions of distribution and use, see copyright notice in puff.h
|
||||||
* version 1.7, 3 Mar 2003
|
* version 1.8, 9 Jan 2004
|
||||||
*
|
*
|
||||||
* puff.c is a simple inflate written to be an unambiguous way to specify the
|
* puff.c is a simple inflate written to be an unambiguous way to specify the
|
||||||
* deflate format. It is not written for speed but rather simplicity. As a
|
* deflate format. It is not written for speed but rather simplicity. As a
|
||||||
@ -60,6 +60,7 @@
|
|||||||
* 1.6 7 Aug 2002 - Minor format changes
|
* 1.6 7 Aug 2002 - Minor format changes
|
||||||
* 1.7 3 Mar 2003 - Added test code for distribution
|
* 1.7 3 Mar 2003 - Added test code for distribution
|
||||||
* - Added zlib-like license
|
* - Added zlib-like license
|
||||||
|
* 1.8 9 Jan 2004 - Added some comments on no distance codes case
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */
|
#include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */
|
||||||
@ -577,6 +578,9 @@ local int fixed(struct state *s)
|
|||||||
* block is fewer bits), but it is allowed by the format. So incomplete
|
* block is fewer bits), but it is allowed by the format. So incomplete
|
||||||
* literal/length codes of one symbol should also be permitted.
|
* literal/length codes of one symbol should also be permitted.
|
||||||
*
|
*
|
||||||
|
* - If there are only literal codes and no lengths, then there are no distance
|
||||||
|
* codes. This is represented by one distance code with zero bits.
|
||||||
|
*
|
||||||
* - The list of up to 286 length/literal lengths and up to 30 distance lengths
|
* - The list of up to 286 length/literal lengths and up to 30 distance lengths
|
||||||
* are themselves compressed using Huffman codes and run-length encoding. In
|
* are themselves compressed using Huffman codes and run-length encoding. In
|
||||||
* the list of code lengths, a 0 symbol means no code, a 1..15 symbol means
|
* the list of code lengths, a 0 symbol means no code, a 1..15 symbol means
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
#include "deflate.h"
|
#include "deflate.h"
|
||||||
|
|
||||||
const char deflate_copyright[] =
|
const char deflate_copyright[] =
|
||||||
" deflate 1.2.1 Copyright 1995-2003 Jean-loup Gailly ";
|
" deflate 1.2.1.1 Copyright 1995-2003 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
|
||||||
|
16
inftrees.c
16
inftrees.c
@ -1,5 +1,5 @@
|
|||||||
/* inftrees.c -- generate Huffman trees for efficient decoding
|
/* inftrees.c -- generate Huffman trees for efficient decoding
|
||||||
* Copyright (C) 1995-2003 Mark Adler
|
* Copyright (C) 1995-2004 Mark Adler
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -9,7 +9,7 @@
|
|||||||
#define MAXBITS 15
|
#define MAXBITS 15
|
||||||
|
|
||||||
const char inflate_copyright[] =
|
const char inflate_copyright[] =
|
||||||
" inflate 1.2.1 Copyright 1995-2003 Mark Adler ";
|
" inflate 1.2.1.1 Copyright 1995-2004 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
|
||||||
@ -62,7 +62,7 @@ unsigned short FAR *work;
|
|||||||
35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
|
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 */
|
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,
|
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, 76, 66};
|
19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 202, 196};
|
||||||
static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
|
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,
|
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,
|
257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
|
||||||
@ -114,7 +114,15 @@ unsigned short FAR *work;
|
|||||||
for (max = MAXBITS; max >= 1; max--)
|
for (max = MAXBITS; max >= 1; max--)
|
||||||
if (count[max] != 0) break;
|
if (count[max] != 0) break;
|
||||||
if (root > max) root = max;
|
if (root > max) root = max;
|
||||||
if (max == 0) return -1; /* no codes! */
|
if (max == 0) { /* no symbols to code at all */
|
||||||
|
this.op = (unsigned char)64; /* invalid code marker */
|
||||||
|
this.bits = (unsigned char)1;
|
||||||
|
this.val = (unsigned short)0;
|
||||||
|
*(*table)++ = this; /* make a table to force an error */
|
||||||
|
*(*table)++ = this;
|
||||||
|
*bits = 1;
|
||||||
|
return 0; /* no symbols, but wait for decoding to report error */
|
||||||
|
}
|
||||||
for (min = 1; min <= MAXBITS; min++)
|
for (min = 1; min <= MAXBITS; min++)
|
||||||
if (count[min] != 0) break;
|
if (count[min] != 0) break;
|
||||||
if (root < min) root = min;
|
if (root < min) root = min;
|
||||||
|
@ -25,10 +25,10 @@
|
|||||||
<QPG:Files>
|
<QPG:Files>
|
||||||
<QPG:Add file="../zconf.h" install="/opt/include/" user="root:sys" permission="644"/>
|
<QPG:Add file="../zconf.h" install="/opt/include/" user="root:sys" permission="644"/>
|
||||||
<QPG:Add file="../zlib.h" install="/opt/include/" user="root:sys" permission="644"/>
|
<QPG:Add file="../zlib.h" install="/opt/include/" user="root:sys" permission="644"/>
|
||||||
<QPG:Add file="../libz.so.1.2.1" install="/opt/lib/" user="root:bin" permission="644"/>
|
<QPG:Add file="../libz.so.1.2.1.1" install="/opt/lib/" user="root:bin" permission="644"/>
|
||||||
<QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.1"/>
|
<QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.1.1"/>
|
||||||
<QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.1"/>
|
<QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.1.1"/>
|
||||||
<QPG:Add file="../libz.so.1.2.1" install="/opt/lib/" component="slib"/>
|
<QPG:Add file="../libz.so.1.2.1.1" install="/opt/lib/" component="slib"/>
|
||||||
</QPG:Files>
|
</QPG:Files>
|
||||||
|
|
||||||
<QPG:PackageFilter>
|
<QPG:PackageFilter>
|
||||||
@ -63,7 +63,7 @@
|
|||||||
</QPM:ProductDescription>
|
</QPM:ProductDescription>
|
||||||
|
|
||||||
<QPM:ReleaseDescription>
|
<QPM:ReleaseDescription>
|
||||||
<QPM:ReleaseVersion>1.2.1</QPM:ReleaseVersion>
|
<QPM:ReleaseVersion>1.2.1.1</QPM:ReleaseVersion>
|
||||||
<QPM:ReleaseUrgency>Medium</QPM:ReleaseUrgency>
|
<QPM:ReleaseUrgency>Medium</QPM:ReleaseUrgency>
|
||||||
<QPM:ReleaseStability>Stable</QPM:ReleaseStability>
|
<QPM:ReleaseStability>Stable</QPM:ReleaseStability>
|
||||||
<QPM:ReleaseNoteMinor></QPM:ReleaseNoteMinor>
|
<QPM:ReleaseNoteMinor></QPM:ReleaseNoteMinor>
|
||||||
|
@ -5,8 +5,8 @@ VS_VERSION_INFO VERSIONINFO
|
|||||||
#else
|
#else
|
||||||
VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
|
VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE
|
||||||
#endif
|
#endif
|
||||||
FILEVERSION 1,2,1,0
|
FILEVERSION 1,2,1,1
|
||||||
PRODUCTVERSION 1,2,1,0
|
PRODUCTVERSION 1,2,1,1
|
||||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 1
|
FILEFLAGS 1
|
||||||
@ -23,12 +23,12 @@ BEGIN
|
|||||||
//language ID = U.S. English, char set = Windows, Multilingual
|
//language ID = U.S. English, char set = Windows, Multilingual
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "FileDescription", "zlib data compression library\0"
|
VALUE "FileDescription", "zlib data compression library\0"
|
||||||
VALUE "FileVersion", "1.2.1\0"
|
VALUE "FileVersion", "1.2.1.1\0"
|
||||||
VALUE "InternalName", "zlib1.dll\0"
|
VALUE "InternalName", "zlib1.dll\0"
|
||||||
VALUE "LegalCopyright", "(C) 1995-2003 Jean-loup Gailly & Mark Adler\0"
|
VALUE "LegalCopyright", "(C) 1995-2003 Jean-loup Gailly & Mark Adler\0"
|
||||||
VALUE "OriginalFilename", "zlib1.dll\0"
|
VALUE "OriginalFilename", "zlib1.dll\0"
|
||||||
VALUE "ProductName", "zlib\0"
|
VALUE "ProductName", "zlib\0"
|
||||||
VALUE "ProductVersion", "1.2.1\0"
|
VALUE "ProductVersion", "1.2.1.1\0"
|
||||||
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
|
VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
6
zlib.3
6
zlib.3
@ -1,4 +1,4 @@
|
|||||||
.TH ZLIB 3 "17 November 2003"
|
.TH ZLIB 3 "9 January 2004"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
zlib \- compression/decompression library
|
zlib \- compression/decompression library
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@ -133,8 +133,8 @@ before asking for help.
|
|||||||
Send questions and/or comments to zlib@gzip.org,
|
Send questions and/or comments to zlib@gzip.org,
|
||||||
or (for the Windows DLL version) to Gilles Vollant (info@winimage.com).
|
or (for the Windows DLL version) to Gilles Vollant (info@winimage.com).
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Version 1.2.1
|
Version 1.2.1.1
|
||||||
Copyright (C) 1995-2003 Jean-loup Gailly (jloup@gzip.org)
|
Copyright (C) 1995-2004 Jean-loup Gailly (jloup@gzip.org)
|
||||||
and Mark Adler (madler@alumni.caltech.edu).
|
and Mark Adler (madler@alumni.caltech.edu).
|
||||||
.LP
|
.LP
|
||||||
This software is provided "as-is,"
|
This software is provided "as-is,"
|
||||||
|
8
zlib.h
8
zlib.h
@ -1,7 +1,7 @@
|
|||||||
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
||||||
version 1.2.1, November 17th, 2003
|
version 1.2.1.1, January 9th, 2004
|
||||||
|
|
||||||
Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler
|
Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@ -37,8 +37,8 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ZLIB_VERSION "1.2.1"
|
#define ZLIB_VERSION "1.2.1.1"
|
||||||
#define ZLIB_VERNUM 0x1210
|
#define ZLIB_VERNUM 0x1211
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The 'zlib' compression library provides in-memory compression and
|
The 'zlib' compression library provides in-memory compression and
|
||||||
|
Loading…
x
Reference in New Issue
Block a user