Compare commits
	
		
			1 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user